2012-09-13 124 views
0

我有一個Jersey服務和一個處理表單提交的方法。無法從命令行發送帶有「curl」的POST請求

 
void handle(@FormParam("name") String name) {...} 

當我在瀏覽器中提交表單(參見下文)時,服務工作正常。

 
<form action="rest/myService" method="POST"> 
    <input name="name"/> 
</form> 

現在我想用curl從命令行發送表單提交POST要求(見下文),但「FormParameter」 name在服務null,而我希望它被設置爲myName

curl -d "name=myName" http://localhost:8080/myApp/rest/myService

我猜curl命令行是錯誤的。這是對的嗎?如何解決它?

回答

1

不是專家,而是試圖用-F

好運來代替-d

+0

感謝。你知道b/w -d和-F的區別嗎? – Michael

+0

@Michael'man curl'會給你詳細的解釋。我只是不能在評論中發佈幫助。 – Tk421

1
curl -X POST http://localhost:8080/myApp/rest/myService -d "name=myName" 

curl -X POST http://localhost:8080/myApp/rest/myService --data-urlencode "name=myName" 

會產生POST