我正在尝试发送删除请求,但是不起作用。奇怪的是,如果我只是将@DELETE更改为@GET,它就可以工作。
@Stateless
@Path("orders")
public class OrderRestful {
@Inject
BestellungRepository bestellrepo;
@DELETE
@Path("{id}")
public Response deleteBestellung(@PathParam("id") long id){
Bestellung b = bestellrepo.getBestellungById(id);
if(b == null){
return Response.status(Status.NOT_FOUND).build();
}
bestellrepo.deleteBestellung(b);
return Response.noContent().build();
}
}
由于它可以与@GET正常工作,所以我知道代码本身不是问题。我想我某个地方缺少语法问题,但我不知道在哪里。我正在使用glassfish 5,这是一个球衣项目。
编辑:我试图将其设为空方法。没用我试过不使用路径。它没有用。
@DELETE
方法的返回类型应该为空。你不能退回任何东西。成功后,响应状态将为200
或204
。将其更改为void
,然后尝试。