2015-09-02 123 views
2

我的web服务(我想提出的uuid字符串中的响应)如何将内容添加到回复?

@POST 
@Consumes(MediaType.TEXT_PLAIN) 
@Produces(MediaType.APPLICATION_JSON) 
public Response createObject(final String jsonString) { 
    String uuid; 
    //logic 
    ... 
    String mt = new MimetypesFileTypeMap().getContentType(uuid); 
    return Response.ok(uuid, mt).build(); 
    //also tried: Response.status(200).entity(uuid).build(); 
} 

我请求(读取从响应的uuid)

Response response = target.request().post(Entity.entity(new Gson().toJson(params, Map.class), MediaType.TEXT_PLAIN)); 
response.getEntity() //returns null if i access it 

实体总是空当我尝试访问它。我究竟做错了什么?

+0

是它您是否必须返回“响应”对象?你可以简单地返回一个'String'。 'public String createObject(..){..return UUIDString;}' –

+0

当我返回字符串它的作品,但我也想检查客户端的http(错误)状态代码 – Gobliins

+0

尝试只返回一个实体,即'返回Response.ok(uuid).build();' – Garry

回答

0

嗨,我发现了问题:

这是一个分析问题,不知何故,我总是得到空,直到我从

response.getEntity() 

改变了我的请求代码这样:

String uuid = new Gson().fromJson(response.readEntity(String.class), String.class);