1

我正在设计一个简单的REST API,并且GET方法工作正常,但是我无法让POST方法正常工作。

    @POST
    @Consumes(MediaType.APPLICATION_JSON)
    public Response nuevaCancion(Cancion cancion) {

        Response response = Response.ok().build();
        Response negativeResponse = Response.notAcceptable(null).build();
        return new ConectorCliente("usr", "pass", "REST").insertarCancion(cancion) ? response : negativeResponse;
    }

所以我的方法接收一个应该是 JSON 格式的Cancion类(类已经有@XmlRootElement注释)实例,如果 JSON 中的数据一切正常,它将返回一个200代码和一个406 Not Acceptable代码。

我正在尝试通过此 curl 语句测试该方法:

curl -X POST -d @cancion.json http://localhost:8080/REST/webresources/canciones --header "Content-Type:application/json"

其中 cancion.json 是一个包含Cancion实例的正确 JSON 表示的文件。

但是我得到了一个HTTP Status 415 - Unsupported Media Type代码。同样停留:服务器拒绝此请求,因为请求实体的格式不受所请求方法的请求资源支持。

我使用 Tomcat 作为服务器,使用 Jersey 和 Jackson 库作为 REST。我的代码有什么问题?

4

0 回答 0