からのparamsを取得します。 http://localhost:8080/TestSomeWay/resources/test/create?meg=sadasd&name=sadasd とurlparams EXPからのparamsを取得する「MEG」&「名前」 私が開発にジャージを使用しています安らかpostメソッド それは コードそれを作らない用量:あなたはあなたがすると混同しているように見えるあなたがジャージー残りの使用Postメソッドと私のように、残りapi.suchを開発したいURL
答えて
をしたい機能を得るために、代わりにFormParam
のQueryParam
をすべき
@POST
@Path("/create")
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@Produces(MediaType.TEXT_PLAIN)
@Override
public String create(@FormParam("meg")String megString, @FormParam("name")String nameString) {
TestUser testUser=new TestUser();
testUser.setMeg(megString);
testUser.setName(nameString);
em.persist(testUser);
em.flush();
return testUser.getId().toString();
}
をあなたが達成しようとしているもの、そしてそれは非干渉的なAPIとして現れています。あなたがそのように間違ってしまったら、物事がうまくいかないことが少し不思議です!
まず、GET、PUT、POSTのどちらを使用しているのか、後者の2つのケースでは、消費しているコンテンツタイプ(またはタイプ)はPUTとPOSTは通常、受信した文書を処理します。さらに、あなたが冪等でないもの(つまり、同じように2回連続して「同じ」となるように)を実行している場合は、間違いなくPOSTを使用する必要があります。古典的な例では、いくつかの商品を払っています。これは、二度したくないものですが、あなたの好みを設定することは、冪等になる可能性があります。最終的な複雑さは、クエリパラメータを本体と混在させることは通常は悪いスタイルです。パラメータがクエリ部分にあるか、またはそれらが本体にあるか(パスに含まれていますが、その場合、概念的には異なるリソースを扱っています)。あなただけのHTMLフォームを扱っている場合は
、あなたがたいと思う方法の2つのスタイルはこのようになります。
@GET
@Path("/create")
@Produces(MediaType.TEXT_PLAIN)
public String createFromGet(
@QueryParam("meg") String meg,
@QueryParam("name") String name) {
...
return theString;
}
@POST
@Path("/create")
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@Produces(MediaType.TEXT_PLAIN)
public Response createFromPost(
@FormParam("meg") String meg,
@FormParam("name") String name) {
...
return Response.created(theNewUrl).entity(theString).build();
}
/create?meg=foo&name=bar
のようなURLにGETして最初の取引と2番目は/create
のようなURLへのPOSTを処理します。しかし、「create」という名前が与えられていると、私はPOSTバージョンを使用するだけで、クエリ部分のパラメータのエンコーディングをサポートしないようにすることができます。創造は、偶然ではない傾向があるものの一つです。
あなたの作成がリソースを作っていると思っています(それは良いRESTfulなプログラミングです!)ので、正しい種類の応答を返すように調整しました。それは通常より少し複雑ですが、まさに正しいことです。
- 1. ジャージー残りのAPI com.sun.jersey.api.coni.ContainerExceptionServlet
- 2. @POSTまたは@PUTで@QueryParamを使用して残り
- 3. ジャンゴ残りのフレームワーク私はこのようになりますURL持っAPIView
- 4. 残りのAPIメソッドのテスト
- 5. は残り-APIメソッドのgetAll
- 6. 残りのスペースを埋めるために残りのスペースを埋めるようにしてください。
- 7. 残りは使用して、うまく
- 8. エラーは、私は、APIの残りの部分を開発しています
- 9. 残りのPOSTメソッドを書き換えるyii2
- 10. 残りのAPIを使用しているときにエラーが発生する
- 11. 残りのウェブサービスを使用してトリガーバッチジョブ
- 12. Djangoの残り、私は次のようなモデルのカップルとジャンゴ残りのバックエンドを持って
- 13. HttpsURLConnectionのpostメソッドを使用して残りのapi呼び出しは応答として
- 14. 残りのフレームワークURLを初期化中にエラーが発生しました
- 15. 私はJavaの残りのWebService URLを持っているサーブレット
- 16. 最小数万一マッチは、私がelasticsearch 5.2残りのエンドポイントを照会しようとしているPOST
- 17. 埋め込まれた桟橋とジャージーのPOSTメソッドの使用
- 18. 私は残りのテンプレート
- 19. hbase残りapi開始エラー
- 20. ASP.NET MVCが残りのルートURLをキャッチ
- 21. 残りは別の残りと応答を呼び出す残りの "400悪い要求"
- 22. 道場の残りのターゲットリモートURL
- 23. Jaywayの残り-保証私は検証しようとしています
- 24. で残りのAPIを使用する
- 25. 残りのシャープを使用して残りのAPIのネストされたクラス構造を設計する
- 26. 残りの部分を残りのAPIに変換する
- 27. 新しいURLに切り替えると、角2のクエリパラメータが残ります
- 28. ループバック認証残りのapi URL
- 29. リソースマネージャ展開と残りのAPIを使用してAzure VMを取得
- 30. POSTまたはPUTでの残りのAPIの意味