0

Resteasy2.3.​​5を使用しています。ブラウザで@POSTURLをリクエストすると、次の注釈付きメソッドが呼び出されることはありません。http://localhost:8080/MyApp/rest/echo/foobar

@POST
@Path("/echo/{msg}")
@Produces("text/plain; charset=UTF-8")
public String echo(@PathParam("msg") final String msg) {
    return msg;
}

ただし、置き換える@POST@GET問題なく動作します(ブラウザは戻りますfoobar)。なにが問題ですか?

4

2 に答える 2

2

これは、URLを入力するときにブラウザが常にGETリクエストを実行するために発生します。cURL
などのHTTPクライアントツールをダウンロードしてみてください。次に、コマンドライン環境から次のテストを実行します。

curl "http://localhost:8080/MyApp/rest/echo/foobar" -X POST

HTTPメソッド、ヘッダーなどのいずれかを試してみることができます。試してみてください。

于 2013-02-25T11:30:35.563 に答える
1

アノテーションは@POSTHTTPPOSTリクエストメソッドを参照しています。Webブラウザは通常GETHTTPリクエストメソッドのみを発行します。そのため、に変更すると例が機能します@GET。RESTサービスのテストに役立つツールはたくさんありますが、そのうちのいくつかはブラウザー内で直接機能します。

Firefoxの場合は、https: //addons.mozilla.org/en-us/firefox/addon/restclient/を試してください。

Chromeの場合は、https://chrome.google.com/webstore/detail/rest-console/cokgbflfommojglbmbpenpphppikmonn?hl= enを試してください

また 、パブリックREST APIをテストするためにどのツールを使用しているかを確認できますか?

于 2013-02-28T13:44:26.273 に答える