【问题标题】:create Entity Tag, but it is null创建实体标签,但它为空
【发布时间】:2012-06-20 18:10:34
【问题描述】:

在我的 Jersey Rest Service 中,我尝试创建一个实体标签:

String content = 12sdfs-345dsdfsdf-231yscysd;
String createdContent = create(content);
return Response.created(createdUri).entity(createdContent).build();

就像它在球衣文档中所写的那样。但是createdContentnull。怎么了?

完整代码为:

@POST
@Consumes("application/x-www-form-urlencoded")
public Response postObject(@FormParam("number") int number) {

    ObjectDTO c = new ObjectDTO();;
    c.setNumber(number);


    String generatedId = generateID();
    c.setId(generatedId);
    c.setOwner(sec.getUserPrincipal().getName());
    return postAndGetResponse(c);
}


private Response postAndGetResponse(ObjectDTO object) {
    Response res;
    System.out.println(object);
    if(ObjectDAO.instance.getObjectDao().containsKey(object.getId())) {
        res = Response.serverError().status(409).build();
    } else {
        System.out.println(object);
        System.out.println(object.getId());
        String createdContent = create(object.getId());
        System.out.println(createdContent);
        res = Response.created(uriInfo.getAbsolutePath()).entity(createdContent).build();
        ObjectDAO.instance.getObjectDao().put(object.getId(), object);
    }
    return res;
}

编辑:

http://jersey.java.net/nonav/documentation/latest/jax-rs.html#d4e188

第 2.5 章

【问题讨论】:

  • 我太傻了。 create 方法创建了一个函数存根。没有注意到这一点......那么我如何创建我的实体标签以将其放入响应中?球衣文档只是说创建(字符串)......但没有关于这个函数。

标签: java http jersey uri response


【解决方案1】:

要创建实体标签,只需调用new EntityTag(string)。但是你想在上面的代码中实现什么?实体标签应该附在标题上,而不是附在正文上。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多