社内システムでWebAPI

社内システムで簡単なWebAPIを使った時のメモ。

社内システムAとBがあって、システムAの特定のリンクをクリックするとシステムBの指定の情報が別ウィンドウで開くというものです。

システムB側にWebAPIのプログラムを用意しておき、(1)のようなリクエストを受けたら(2)を返すようにします。
公開する情報にもよりますが、今回のケースではWebAPIに認証は不要で、(2)で返すのはURLのみです。
(3)で実際の画面にアクセスする際に、システムB側で本来持つ認証/承認機能によってアクセスを制御します。


WebAPIの仕様
あくまで例です。必要に応じて拡張が必要だと思います。

  • レスポンスはjsonもしくはjsonpとし、リクエストによって指定する。
  • WebAPI側でエラーが発生した場合はエラーコードを返す

リクエス

パラメーター 説明
format jsonもしくはjsonp。省略した場合はjson
callback jsonpの場合のコールバック関数名。省略した場合はcallbackとなる。
key 参照用URLを取得したい情報のキー

レスポンス

フィールド
url 該当の情報の詳細画面にアクセスするためのURL

エラーコード

レスポンスコード 説明
400 Bad request 必須パラメーターがない、値が大きすぎる場合など
401 Unauthorized ログインされていない(認証が必要な場合)
403 Forbidden リソースへのアクセス権限がない(認証が必要な場合)
404 Not found リソースがみつからない
500 Internal server error なにかしらの例外が発生した

情報を公開する側の仕組みは、情報の公開範囲や権限などをきっちり決めておかないといけませんが、
そこさえ決めてしまえばいろいろと使い回しがきくので、面白いです。