[
https://issues.jboss.org/browse/FORGE-1273?page=com.atlassian.jira.plugin...
]
George Gastaldi closed FORGE-1273.
----------------------------------
Fix Version/s: (was: 2.x Future)
Resolution: Won't Fix
After some discussion in the #forge channel, we decided that this will not be fixed.
It's clear to us that when accessing a URL like {{/rest/book/1}} and this ID
doesn't exist, it should return NOT_FOUND(404) (the intention is to say to the caller
that he made a wrong call).
If querying from a collection resource is made {{/rest/books?id=1}}, then it's fine to
return NO_CONTENT.
REST NOT_FOUND should be NO_CONTENT
-----------------------------------
Key: FORGE-1273
URL:
https://issues.jboss.org/browse/FORGE-1273
Project: Forge
Issue Type: Enhancement
Security Level: Public(Everyone can see)
Components: Java EE, Scaffold
Affects Versions: 1.4.2.Final
Reporter: Antonio Goncalves
Attachments: rest.tiff, rest2.tiff
Hi,
In the REST endpoint generated code we have the following methods that return a
Status.NOT_FOUND status in case the entity is not found :
{code}
@DELETE
@Path("/{id:[0-9][0-9]*}")
public Response deleteById(@PathParam("id") Long id)
{
Book entity = em.find(Book.class, id);
if (entity == null)
{
return Response.status(Status.NOT_FOUND).build();
}
em.remove(entity);
return Response.noContent().build();
}
@GET
@Path("/{id:[0-9][0-9]*}")
@Produces("application/xml")
public Response findById(@PathParam("id") Long id)
{
TypedQuery<Book> findByIdQuery = em.createQuery("SELECT DISTINCT b FROM
Book b WHERE b.id = :entityId ORDER BY b.id", Book.class);
findByIdQuery.setParameter("entityId", id);
Book entity;
try
{
entity = findByIdQuery.getSingleResult();
}
catch (NoResultException nre)
{
entity = null;
}
if (entity == null)
{
return Response.status(Status.NOT_FOUND).build();
}
return Response.ok(entity).build();
}
{code}
In both cases it should be a Status.NO_CONTENT. The resource exists (otherwise it would
have been impossible to invoke it) it just happens that it returns an empty body (with a
no content status)
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)