RESTful アプリケーションは、シンプルで軽量、高速であるため、さまざまなソリューションに使用されています。このため、REST API の記述についてサービスプロバイダーとユーザーの理解が一致している必要があります。REST API は、既に標準化されている、SOAP Web サービスの WSDL と似ています。
REST API の標準化の問題は、
Swagger で解決できます。RESTful サービスのユーザーは、REST API を操作する標準の方法として Swagger を使用できます。
[ Generate OpenAPI interface ] プロパティを Yes に設定します。これにより、
GeneXus の REST Web サービスのすべてのドキュメントが、アプリケーションディレクトリーの default.yaml ファイルに格納されます。ファイルには以下のようにアクセスできます:
http://<サーバー>/<仮想ディレクトリ―>/default.yaml
(
.NET Framework/
.NET ジェネレーターを使っている場合) または
http://<サーバー>/<仮想ディレクトリ―>/static/default.yaml
(
Java ジェネレーターを使っている場合)。
default.yaml ファイルは、次のいずれかのオブジェクトが生成されると更新されます。
サーバーが swagger.io サーバーから HTTP リクエストを受け取れるように、サーバーで HTTP アクセス制御 (
CORS) を有効にする必要があります。
IIS マネージャを通じて、次の HTTP ヘッダーを追加します:
Name:Access-Control-Allow-Headers Value:Origin, X-Requested-With, Content-Type, Accept
Name:Access-Control-Allow-Origin Value:http://editor.swagger.io
次のフィルタを web.xml ファイルに追加します:
<filter>
<filter-name>CorsFilter</filter-name>
<filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
<init-param>
<param-name>cors.allowed.origins</param-name>
<param-value>http://editor.swagger.io,https://editor.swagger.io</param-value>
</init-param>
<init-param>
<param-name>cors.allowed.methods</param-name>
<param-value>GET,POST,HEAD,OPTIONS,PUT</param-value>
</init-param>
<init-param>
<param-name>cors.allowed.headers</param-name>
<param-value>Origin,X-Requested-With,Content-Type, Accept</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CorsFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Open API Initiative