
# 查询微服务契约 - QueryMicroserviceSchema
#### 功能介绍
根据service_id和schema_id查询微服务的契约信息。
#### 接口约束
无
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-cse/cse_06_0081.html)。
- 如果使用身份策略授权，当前API调用无需身份策略权限。
 
#### URI
GET /v4/{project_id}/registry/microservices/{service_id}/schemas/{schema_id}
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                            |
|:---|:---|:---|:---|
| project_id | 是    | String | 请填固定值：default。                                                                                                |
| service_id | 是    | String | 微服务唯一标识。字符长度为1\~64，正则表达式为\^.\*$。获取方法请参考[查询所有微服务信息](https://support.huaweicloud.com/api-cse/cse_06_0039.html)。 |
| schema_id  | 是    | String | 契约的id。获取方法请参考[查询微服务的所有契约](https://support.huaweicloud.com/api-cse/cse_06_0047.html)。                          |
   
#### 请求参数
表2请求Header参数 
| 参数              | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| Authorization   | 否    | String | 若ServiceComb引擎专享版开启了安全认证，此参数必填。否则，无此参数。 开启了安全认证的ServiceComb引擎专享版Token，格式为： ``` Authorization:Bearer {Token} ``` Token获取方法，请参考[获取ServiceComb引擎专享版用户Token](https://support.huaweicloud.com/api-cse/cse_06_0035.html)。       |
| X-Authorization | 否    | String | 若ServiceComb引擎专享版开启了安全认证，此参数必填。否则，无此参数。 开启了安全认证的ServiceComb引擎专享版Token，格式为： ``` X-Authorization:Bearer {Token} ``` Token获取方法，请参考[获取ServiceComb引擎专享版用户Token](https://support.huaweicloud.com/api-cse/cse_06_0035.html)。 |
   
#### 响应参数
**状态码： 200**
表3响应Header参数 
| 参数               | 参数类型   | 描述        |
|:---|:---|:---|
| X-Schema-Summary | String | 微服务契约的摘要。 |
   
表4响应Body参数 
| 参数     | 参数类型   | 描述    |
|:---|:---|:---|
| schema | String | 契约内容。 |
   
**状态码： 400**
表5响应Body参数 
| 参数           | 参数类型   | 描述      |
|:---|:---|:---|
| errorCode    | String | 错误代码。   |
| errorMessage | String | 错误信息。   |
| detail       | String | 详细定位信息。 |
   
**状态码： 500**
表6响应Body参数 
| 参数           | 参数类型   | 描述      |
|:---|:---|:---|
| errorCode    | String | 错误代码。   |
| errorMessage | String | 错误信息。   |
| detail       | String | 详细定位信息。 |
   
#### 请求示例
查询指定service_id和schema_id的契约的详细信息。
```
GET https://{endpoint}/v4/{project_id}/registry/microservices/{service_id}/schemas/{schema_id}
```
#### 响应示例
**状态码： 200**
查询成功，如果summary存在，则header里面的X-Schema-Summary的value为该schema对应的摘要。
```
{
  "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"
}
```
#### 状态码
| 状态码 | 描述      |
|:---|:---|
| 200 | 查询成功。   |
| 400 | 错误的请求。  |
| 500 | 服务内部错误。 |
   
#### 错误码
请参见[ServiceComb错误码](https://support.huaweicloud.com/api-cse/cse_06_0110.html)。
