WebApi
モジュールパス: NodeJS/alier_sys/WebApi.js
概要
このクラスは Node.js 上で動作するサーバアプリケーションの REST API を実装するための 抽象クラス です。ユーザはこのクラスを直接インスタンス化する代わりに、派生クラスを定義してそのインスタンスとして REST API を定義する必要があります。
通常これらの WebApi 派生クラスのインスタンスは、特定のパスに対して一対一の対応を持ち、複数のインスタンスを同時に持つ必要はありません。
また、このクラスはクライアントアプリケーション上の Frontend/WebApi クラスのカウンタパートになっています。
つまり、クライアント側の Frontend/WebApi からメソッドを呼び出した際、メソッドに渡されたパラメタはそのままサーバ側の対応するメソッドの引数として渡されます。サーバ側のメソッド呼び出しの返値はクライアント側での対応するメソッドの返値となります。
このクラスでは
GETPOSTPUTDELETEHEADOPTIONSPATCH
に対応するメソッドが定義されています。
これらのメソッドの既定の動作は単に例外を発生させるだけです。なので、ユーザは使用したい HTTP メソッドに対するオーバライドを定義しなければならない一方で、使用しない HTTP メソッドに対して Method Not Allowed を送り返す実装はしないで済みます。
コンストラクタ
構文
new WebApi({ path }) => WebApi
new WebApi({ path, isCaseSensitive }) => WebApi
new WebApi({ path, isCaseSensitive, authProtocols }) => WebApi
引数
-
o:{ path, isCaseSensitive, authProtocols }引数をまとめたオブジェクトです。基底クラス
WebEntity.constructorも参照してください。-
path:stringWeb API のパスまたはパスのパターンを一意に表す文字列です。
パターンは完全一致でなければならず、前方一致 / 後方一致を許すワイルドカード (
"*") を含むことはできません。 -
isCaseSensitive:booleanパスの一致を判定する際に大文字小文字の区別をするかどうかです。
trueなら大文字小文字の区別をし、falseなら区別をしません。 -
authProtocols:AbstractAuthProtocol[]|null認証プロトコルを実装するオブジェクトのリストです。生成する
WebEntityがサポートする認証方式のリストを与えます。
-
例外
SyntaxErrorWebApiクラスが直接newされた場合。o.pathが完全一致のパターンでなかった(前方一致 / 後方一致のワイルドカードを含んでいた)場合。
WebEntity.constructor()の例外も参照してください。
メソッド
継承するメソッド
基底クラス WebEntity から以下を継承していています:
get()
- HTTP の
GETメソッドの要求に対する処理を実装します。
head()
- HTTP の
HEADメソッドの要求に対する処理を実装します。
post()
- HTTP の
POSTメソッドの要求に対する処理を実装します。
put()
- HTTP の
PUTメソッドの要求に対する処理を実装します。
delete()
- HTTP の
DELETEメソッドの要求に対する処理を実装します。
options()
- HTTP の
OPTIONSメソッドの要求に対する処理を実装します。
patch()
- HTTP の
PATCHメソッドの要求に対する処理を実装します。
supports()
- 対象の
WebApiが対象の HTTP メソッドを実装しているかどうかを検査します。
supportedMethodList()
- 対象の
WebApiが実装する HTTP メソッドの配列を取得します。
プロパティ
継承するプロパティ
基底クラス WebEntity から以下を継承しています: