Antonio Goncalves created FORGE-1273:
----------------------------------------
Summary: REST NOT_FOUND should be NO_CONTENT
Key: FORGE-1273
URL:
https://issues.jboss.org/browse/FORGE-1273
Project: Forge
Issue Type: Enhancement
Components: Scaffold
Affects Versions: 1.4.2.Final
Reporter: Antonio Goncalves
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 is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira