文章
· 七月 24, 2022 阅读大约需 2 分钟

第六章 修改规范(SPEC)类

第六章 修改规范(SPEC)类

概述

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

原因 改变
更新或替换规范 手动修改 OpenAPI XData 块或通过重新生成规范类。
启用 REST 服务以支持 CORS 手动修改 OpenAPI XData 块;还添加一个类参数并创建一个自定义调度超类。
启用 REST 服务以支持 Web 会话 添加类参数。
指定使用端点所需的权限 手动修改 OpenAPI XData 块。
覆盖默认内容类型、响应字符集或输入流处理 添加类参数。
为服务方法指定一个非默认名称 手动修改 OpenAPI XData 块。

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

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

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

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

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

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

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

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

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

覆盖服务方法的名称

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

"x-ISC_ServiceMethod":"alternatename"

示例

    "/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)1
登录或注册以继续