2013-07-02 59 views
0

我试图发送一个请求,我这样做的卷曲以下几点:卷曲JSON +饼干+头PARAMS +新泽西

curl -v --header "location: 60.004:8.456" --cookie "sessionToken=~session" -i -X PUT -H 'Content-Type: application/json' -d '{"data":"{"FCT":"Welcome", "Uni":"Welcome to DI"}"}' localhost:8080/tester/apps/e39/data 

,由于某种原因它的类,但没有这种方法匹配:

@PUT 
@Consumes(MediaType.APPLICATION_JSON) 
@Produces(MediaType.APPLICATION_JSON) 
public Response createDocumentRoot(JSONObject inputJsonObj, 
     @Context UriInfo ui, @Context HttpHeaders hh) { 
} 

编辑: 类与@Path(“{APPID} /数据”)

这个问题不状态的路径,我已经调试它和看到它标识类权定义它只是在goi之后抛出不好的要求不需要输入任何方法。

这里是卷曲详细:

* About to connect() to localhost port 8080 (#0) 
* Trying 127.0.0.1... connected 
> PUT /tester/apps/e39/data HTTP/1.1 
> User-Agent: curl/7.22.0 (i686-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4       libidn/1.23 librtmp/2.3 
> Host: localhost:8080 
> Accept: */* 
> Cookie: sessionToken=~session 
> location: 60.004:8.456 
> Content-Type: application/json 
> Content-Length: 60 
> 
* upload completely sent off: 60out of 60 bytes 
< HTTP/1.1 400 Bad Request 
HTTP/1.1 400 Bad Request 
< Server: Apache-Coyote/1.1 
Server: Apache-Coyote/1.1 
< Content-Type: text/html;charset=utf-8 
Content-Type: text/html;charset=utf-8 
< Content-Length: 990 
Content-Length: 990 
< Date: Tue, 02 Jul 2013 21:46:56 GMT 
Date: Tue, 02 Jul 2013 21:46:56 GMT 
< Connection: close 
Connection: close 
+0

很难说,没有看到类和方法上的'@ Path'注解。请你能提供更多的代码吗? – jgm

+0

添加了卷曲和其他一些信息。问题不在于Path注释,而在于http请求内容与方法的匹配。 – HeWhoCodes

+0

谢谢jgm,你是最善良的。问题出在json中,写得不对,我会写一个答案,让人和我一样困惑。 – HeWhoCodes

回答

0

的问题是,这是不正确的JSON语法,我有

'{"data":"{"FCT":"Welcome", "Uni":"Welcome to DI"}"}' 

改变这之后,它工作得很好:

'{"data": 
{"FCT":"Welcome", 
"Uni":"Welcome to DI"}}' 

我用JSON在线解析器来检查json语法,这里是链接incase有人需要它: http://json.parser.online.fr/