0

我有一个POST不工作的 JAX-RS 项目。我有@GET可以正常工作的 URL。除了这个,一切似乎都很好@POST

@POST
@Path("/json/insert")
@Produces(MediaType.APPLICATION_JSON)
@Consumes("application/x-www-form-urlencoded")
public String postJSONInsert(
    @FormParam("instance") String instance,
    @FormParam("db") String table) {

    String json;
    EDPObject edp_obj = new EDPObject();

    try {

        json = edp_obj.insert("json", instance, table);

    } catch(Exception e) {

        edp_obj.endSession();
        json = handleJSONError(e);

    }

    return json;

}

500 not yet connected在客户端尝试此操作时进入萤火虫:

$.ajax('http://127.0.0.1:8070/sixaxis/webapi/json/insert', {
    data: {
        db: '17:2',
        instance: 'shawn'
    },
    dataType: 'json',
    type: 'POST'
});
4

1 回答 1

4

你有没有尝试过:

@Consumes(MediaType.APPLICATION_JSON)

因为你的 jQuery 是:

dataType:'json'

更新(感谢反馈):那么方法至少应该是:

@POST
@Path("/json/insert")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public String postJSONInsert( Map<String,Object> params ){
   // Your business logic
}
于 2013-10-29T04:58:46.453 回答