2012-06-20 3 views
2

В моей Джерси службы Rest я попытался создать объект тег:создать Entity Tag, но нулевой

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

+0

им так глупо. метод create создал функцию заглушки. не заметил этого ... так как я могу создать свой тег объекта, чтобы получить его в ответ? документация джерси просто говорит create (string) ... но ничего об этой функции. – user1460679

ответ

3

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

Смежные вопросы