这是我用curl请求的服务:
time curl -i -XPOST 'http://localhost:9080/my/service' -H "Authorization:OAuth MyToken" -H "Content-Type: application/json" -d "ids=516816b2e4b039526a235e2f,516816b2e4b039526a235e2f"
资源:
@Path("/my")
@Consumes({"application/xml", "application/json"})
@Produces({"application/xml", "application/json", "text/json"})
@Restricted
public class MyResource {
@POST
@Path("/service")
public Map<String ,Object> myService(@FormParam("ids") String myIds) {
// service things
}
}
该服务运行良好,但突然失败了。现在参数myIds总是为null,而curl的结果是400个错误请求... 我没有更改此资源中的任何内容,因此它仍然可以正常工作。 如果有人有想法,请告诉我。 谢谢!
答案 0 :(得分:5)
在curl
- 命令中,您将发布表单数据和Content-Type: application/json
。显然,这些数据不是有效的JSON,因此有400个错误的请求。
如果您要发布表单数据,则需要使用内容类型application/x-www-form-urlencoded