修改规范(SPEC)类

2022-08-05 09:25:21 浏览数 (3)

概述

下表列出了修改规范类的原因并简要总结了所需的更改:

原因

改变

更新或替换规范

手动修改 OpenAPI XData 块或通过重新生成规范类。

启用 REST 服务以支持 CORS

手动修改 OpenAPI XData 块;还添加一个类参数并创建一个自定义调度超类。

启用 REST 服务以支持 Web 会话

添加类参数。

指定使用端点所需的权限

手动修改 OpenAPI XData 块。

覆盖默认内容类型、响应字符集或输入流处理

添加类参数。

为服务方法指定一个非默认名称

手动修改 OpenAPI XData 块。

无论何时编译规范类,编译器都会在同一个包中重新生成调度类并更新实现类。

覆盖内容类型、响应字符集或输入流处理

只需将类参数添加到规范类并重新编译,就可以覆盖 REST 服务的几个关键方面。

  • 默认情况下,REST 服务需要 application/json 内容类型。要覆盖它,请将以下内容添加到规范类:
代码语言:javascript复制
Parameter CONTENTTYPE = "some-content-type";

其中 some-content-typeMIME 内容类型。

  • 默认情况下,REST 服务的响应消息采用 UTF-8 格式。要覆盖它,请将以下内容添加到规范类:
代码语言:javascript复制
Parameter CHARSET = "some-character-set";

其中 some-content-type-here 是字符集的名称。

  • 默认情况下,REST 服务将输入字符流转换为 Unicode。要不这样做,请将以下内容添加到规范类:
代码语言:javascript复制
Parameter CONVERTINPUTSTREAM = 0";

然后重新编译。然后将这些更改复制到调度类。

覆盖服务方法的名称

默认情况下,编译器使用操作的 operationId 来确定相应 REST 调用调用的方法的名称。可以指定不同的名称。为此,请将以下内容添加到规范类的 OpenAPI XData 块中的操作中:

代码语言:javascript复制
"x-ISC_ServiceMethod":"alternatename"

示例

代码语言:javascript复制
    "/pets":{
      "get":{
        "description":"Returns all pets from the system that the user has access to",
        "operationId":"findPets",
        "x-ISC_ServiceMethod":"ReturnPets",
        "produces":[
          "application/json",
          "application/xml",
          "text/xml",
          "text/html"
        ],

然后重新编译。然后编译器将这个新方法添加到调度和实现类中。一定要编辑实现类并为这个新方法提供一个实现。

0 人点赞