修改微服务契约
功能介绍
根据schema_id更新微服务的契约内容。
接口约束
服务中心老版本如果微服务环境定为production,不支持契约覆盖;从版本2.3.33开始,支持使用环境变量SCHEMA_EDITABLE支持契约覆盖。
URI
PUT /v4/{project_id}/registry/microservices/{service_id}/schemas/{schema_id}
| 
        参数  | 
      
        是否必选  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|---|
| 
        project_id  | 
      
        是  | 
      
        String  | 
      
        请填固定值:default。  | 
     
| 
        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  | 
      
        若ServiceComb引擎专享版开启了安全认证,此参数必填。否则,无此参数。 开启了安全认证的ServiceComb引擎专享版Token,格式为: Authorization:Bearer {Token}
       Token获取方法,请参考获取ServiceComb引擎专享版用户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错误码。