質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

2回答

4404閲覧

Web API での XMLの扱いについて

KazuhitoiKodama

総合スコア11

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2017/04/30 16:05

お世話様です。
あるWebサイトの開発で、Webサイトとは別の注文管理システム(OMS) のWeb API をコールする要件があります。
Web API の仕様案を検討する必要があり、Rest API として設計をしています。
なにぶんはじめてなもので、べからず・ベターな方法が分からないことがあり、質問させていただきます。


■想定している内容
・接続方式

  • プロトコル:HTTP
  • データ交換形式 : XML
  • 文字コード : UTF-8
  • メソッド : POST
  • Content-Type : application/xml
  • Accept : application/xml

データ交換形式はXML でメソッドはPOST になるのですが、この場合、
・リクエストのXMLはどのようにどこに置く仕様とするものでしょうか。

  • Body 内?
  • URL のパラメータ?

POSTなのでBody内かと思っていましたが、Rest API ではURLのパラメータとして付与するという話をきいたりもして、少々迷っています
・application/xmlの場合のXMLやりとりは、XMLファイルをやりとりするのでしょうか、XML形式の文字列をやりとりするものなのでしょうか
※特に双方サーバ内にファイル出力はしません

なお、コール元・先とも、Java言語です。
まず前提や想定が異なっているところもあるかもしれませんが、、少しでもご意見・ご助言いただけると大変助かります。
よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

まず、URLにパラメータを書く、というのは、GETメソッドを使うこととおおむね同義です。
メソッドはPOSTと言っている以上、URLにパラメータを書くのは少々おかしいです。
※受ける側でうまく処理してはくれるかもしれませんが

また、XMLでデータを送信し、受信するというのであれば、GET メソッドを使うのは避けたほうが賢明です。
GET メソッドは制約が多いです。

  • 長さ制限がある
  • 使える文字が限定される(%xx形式へのエンコードが発生する)

やりとりとしてはXML文字列をPOSTのbodyに入れておいて、戻りも body で受けることになるでしょうね。
XMLファイルを送受信することもできなくはないですが、意味がないというか、無駄にファイルを介してしまいます。

投稿2017/05/01 00:35

tacsheaven

総合スコア13703

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

KazuhitoiKodama

2017/05/02 03:57

ありがとうございます。 制約含めよく理解できました。 ありがとうございました。
guest

0

Rest API ではURLのパラメータとして付与するという話をきいたりもして、少々迷っています

URLは「リソースの場所」を表現して、そのリソースに関する情報を得たい場合は GET でリクエストをして、情報を更新したい場合は PUT でリクエストする、などのAPI設計を REST API と呼びます。

ちょっと要件が不明ですが、注文管理システムに対して、新規の注文を POST で投げるだけで、エンドポイント(URL)も固定である場合、もはや REST API とか、そういう話ではないと思います。

投稿2017/05/01 08:20

koko_u

総合スコア936

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

KazuhitoiKodama

2017/05/02 03:56

ありがとうございます。 そもそもREST APIというものの概念について不勉強でした。 大変ためになりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問