[解決済み] GETの代わりにPOSTを使用したREST API
2023-02-23 05:54:58
質問
あるサービスが、このように使える機能を提供しているとします。
GET /service/function?param1=value1¶m2=value2
POSTクエリで使えるということでいいのでしょうか?
POST /service/function { param1 : value1, param2 : value2 }
この2つのクエリは同じものですか?それとも、GET と POST の両方のクエリを使用できることをドキュメントに明示する必要がありますか?
どのように解決するのですか?
を使用することはできません。
API
を使って
POST
または
GET
これらのメソッドを別々に呼び出すように構築されていない場合。例えば、あなたのAPIが
/service/function?param1=value1¶m2=value2
へのアクセスは
GET
メソッドでアクセスします。では
POST
メソッドとして指定されていない場合は
POST
メソッドとして指定されていない場合。これを実行すると
405 Method not allowed
の状態になります。
一般に
POST
メソッドで指定されたフォーマットでコンテンツをボディに送信する必要があります。
content-type
ヘッダで指定されたフォーマットで送信する必要があります。
application/json
はjsonデータ用です。
そしてその後、リクエストボディはサーバーエンドでデシリアライズされます。そのため、クライアントからシリアライズされたデータを渡す必要がありますが、それはサービス開発者が決定します。
しかし、一般論として
GET
はサーバがクライアントにデータを返すときに使われ、サーバには何の影響も与えないのに対して
POST
はサーバに何らかのリソースを作成するために使用されます。ですから、一般的には同じであってはなりません。
関連
-
[解決済み] cURLでJSONデータをPOSTするにはどうすればよいですか?
-
[解決済み] HTTP GET(リクエストボディ付き
-
[解決済み] フォーム送信のようなJavaScriptのポストリクエスト
-
[解決済み] HTTP POSTリクエストでは、どのようにパラメータが送信されるのですか?
-
[解決済み] HTTP POST Web リクエストの作成方法
-
[解決済み] SOAPとRESTの比較(相違点)
-
[解決済み] URLクエリパラメータを含むHTTP POST -- 良いアイデアかどうか?
-
[解決済み] ログアウトする。GETかPOSTか?
-
[解決済み】HTTPのPOSTとPUTの違いは何ですか?
-
[解決済み】REST APIでのPUTメソッドとPATCHメソッドの使い分け 実生活でのシナリオ
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン