Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Создать тег объекта, но он нулевой

Автор вопроса: user1460679Ответов: 1

В моей службе отдыха в Джерси я попытался создать тег объекта с помощью:

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

как написано в документации на майку. Но createdContent это null. Что случилось?

Полный код:

@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 сделал заглушку функции. не заметил этого ... так как я могу создать свой тег сущности, чтобы получить его в ответ? в документации по джерси просто написано create(string)... но ничего об этой функции. user1460679 20.06.2012

httpjavauriresponsejersey

Ответы

Ответ 1 · рейтинг 3 · Martin Matula

Чтобы создать тег объекта, просто вызовите new EntityTag(string). Но чего вы пытаетесь достичь в приведенном выше коде? Тег объекта должен быть прикреплен к заголовку, а не к телу.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы