概述
下表列出了修改规范类的原因并简要总结了所需的更改:
原因 | 改变 |
---|---|
更新或替换规范 | 手动修改 OpenAPI XData 块或通过重新生成规范类。 |
启用 REST 服务以支持 CORS | 手动修改 OpenAPI XData 块;还添加一个类参数并创建一个自定义调度超类。 |
启用 REST 服务以支持 Web 会话 | 添加类参数。 |
指定使用端点所需的权限 | 手动修改 OpenAPI XData 块。 |
覆盖默认内容类型、响应字符集或输入流处理 | 添加类参数。 |
为服务方法指定一个非默认名称 | 手动修改 OpenAPI XData 块。 |
无论何时编译规范类,编译器都会在同一个包中重新生成调度类并更新实现类。
覆盖内容类型、响应字符集或输入流处理
只需将类参数添加到规范类并重新编译,就可以覆盖 REST
服务的几个关键方面。
- 默认情况下,
REST
服务需要application/json
内容类型。要覆盖它,请将以下内容添加到规范类:
Parameter CONTENTTYPE = "some-content-type";
其中 some-content-type
是 MIME
内容类型。
- 默认情况下,
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"
示例
代码语言: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"
],
然后重新编译。然后编译器将这个新方法添加到调度和实现类中。一定要编辑实现类并为这个新方法提供一个实现。