WebApi
モジュールパス: NodeJS/alier_sys/WebApi.js
概要
このクラスは Node.js 上で動作するサーバアプリケーションの REST API を実装するための 抽象クラス です。ユーザはこのクラスを直接インスタンス化する代わりに、派生クラスを定義してそのインスタンスとして REST API を定義する必要があります。
通常これらの WebApi
派生クラスのインスタンスは、特定のパスに対して一対一の対応を持ち、複数のインスタンスを同時に持つ必要はありません。
また、このクラスはクライアントアプリケーション上の Frontend/WebApi
クラスのカウンタパートになっています。
つまり、クライアント側の Frontend/WebApi
からメソッドを呼び出した際、メソッドに渡されたパラメタはそのままサーバ側の対応するメソッドの引数として渡されます。サーバ側のメソッド呼び出しの返値はクライアント側での対応するメソッドの返値となります。
このクラスでは
GET
POST
PUT
DELETE
HEAD
OPTIONS
PATCH
に対応するメソッドが定義されています。
これらのメソッドの既定の動作は単に例外を発生させるだけです。なので、ユーザは使用したい 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
:string
Web API のパスまたはパスのパターンを一意に表す文字列です。
パターンは完全一致でなければならず、前方一致 / 後方一致を許すワイルドカード (
"*"
) を含むことはできません。 -
isCaseSensitive
:boolean
パスの一致を判定する際に大文字小文字の区別をするかどうかです。
true
なら大文字小文字の区別をし、false
なら区別をしません。 -
authProtocols
:AbstractAuthProtocol[]
|null
認証プロトコルを実装するオブジェクトのリストです。生成する
WebEntity
がサポートする認証方式のリストを与えます。
-
例外
SyntaxError
WebApi
クラスが直接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
から以下を継承しています: