RESTful webservices DELETE返回400错误请求,但GET起作用

问题描述 投票:0回答:1

我正在尝试发送删除请求,但是不起作用。奇怪的是,如果我只是将@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,这是一个球衣项目。

编辑:我试图将其设为空方法。没用我试过不使用路径。它没有用。

rest web-services jax-rs http-delete
1个回答
0
投票

@DELETE方法的返回类型应该为空。你不能退回任何东西。成功后,响应状态将为200204。将其更改为void,然后尝试。

© www.soinside.com 2019 - 2024. All rights reserved.