修改微服务契约
功能介绍
根据schema_id更新微服务的契约内容。
接口约束
服务中心老版本如果微服务环境定为production,不支持契约覆盖;从版本2.3.33开始,支持使用环境变量SCHEMA_EDITABLE支持契约覆盖。
URI
PUT /v4/{project_id}/registry/microservices/{service_id}/schemas/{schema_id}
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
|
service_id |
是 |
String |
微服务唯一标识。字符长度为1~64,正则表达式为^.*$。获取方法请参考查询所有微服务信息。 |
schema_id |
是 |
String |
微服务契约唯一标识。字符长度为1~160,正则表达式为^[a-zA-Z0-9]{1,160}$|^[a-zA-Z0-9][a-zA-Z0-9_-.]{0,158}[a-zA-Z0-9]$。获取方法请参考查询微服务的所有契约。 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
Authorization |
否 |
String |
若微服务引擎专享版开启了安全认证,此参数必填。否则,无此参数。 开启了安全认证的微服务引擎专享版Token,格式为: Authorization:Bearer {Token} Token获取方法,请参考获取微服务引擎专享版用户Token。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
schema |
是 |
String |
契约内容。 |
summary |
否 |
String |
新加入参数,后面创建schema,请尽量提供schema的摘要。 |
响应参数
状态码: 400
参数 |
参数类型 |
描述 |
---|---|---|
errorCode |
String |
错误代码。 |
errorMessage |
String |
错误信息。 |
detail |
String |
详细定位信息。 |
状态码: 500
参数 |
参数类型 |
描述 |
---|---|---|
errorCode |
String |
错误代码。 |
errorMessage |
String |
错误信息。 |
detail |
String |
详细定位信息。 |
请求示例
修改指定service_id和schema_id的契约的契约内容和摘要。
PUT https://{endpoint}/v4/{project_id}/registry/microservices/{service_id}/schemas/{schema_id} { "schema": "---\nswagger: \"2.0\"\ninfo:\n version: \"1.0.0\"\n title: \"swagger definition for com.service.provider.controller.ProviderImpl\"\n x-java-interface: \"cse.gen.springmvc.provider.provider.ProviderImplIntf\"\nbasePath: \"/provider\"\nconsumes:\n- \"application/json\"\nproduces:\n- \"application/json\"\npaths:\n /helloworld:\n get:\n operationId: \"helloworld\"\n produces:\n - \"application/json\"\n parameters:\n - name: \"name\"\n in: \"query\"\n required: true\n type: \"string\"\n responses:\n 200:\n description: \"response of 200\"\n schema:\n type: \"string\"\n", "summary": "test" }
响应示例
无
状态码
状态码 |
描述 |
---|---|
200 |
修改成功。 |
400 |
错误的请求。 |
500 |
服务内部错误。 |
错误码
请参见ServiceComb错误码。