
# 查询所有微服务信息 - QueryInformationAboutAllMicroservices
#### 功能介绍
根据条件组合，查询满足所有条件的微服务定义信息。
#### 接口约束
无
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-cse/cse_06_0081.html)。
- 如果使用身份策略授权，当前API调用无需身份策略权限。
 
#### URI
GET /v4/{project_id}/registry/microservices
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述             |
|:---|:---|:---|:---|
| project_id | 是    | String | 请填固定值：default。 |
   
#### 请求参数
表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响应Body参数 
| 参数       | 参数类型                                                                                              | 描述     |
|:---|:---|:---|
| services | Array of [MicroService] objects | 微服务列表。 |
   
 表4MicroService 
| 参数           | 参数类型                                                                                            | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|
| serviceId    | String                                                                                          | 微服务唯一标识。字符长度为1\~64。正则表达式为\^.\*$。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| environment  | String                                                                                          | 用于区分微服务环境。 **取值范围：** - development  - testing  - acceptance  - production   当配置为development、testing或acceptance时，可以通过批量上传schemas接口新增或者修改已存在的Schema；当配置为production时，则不可以新增或者修改Schema。 |
| appId        | String                                                                                          | 应用App唯一标识。字符长度为1\~160。 正则表达式为\^\[a-zA-Z0-9\]$\|\^\[a-zA-Z0-9\]\[a-zA-Z0-9_-.\]\[a-zA-Z0-9\]$。                                                                                                                                                                                                                                                                                                                                                                                                                             |
| serviceName  | String                                                                                          | 微服务名称，同一个App要保证唯一。字符长度为1\~128。 正则表达式为\^\[a-zA-Z0-9\]$\|\^\[a-zA-Z0-9\]\[a-zA-Z0-9_-.\]\[a-zA-Z0-9\]$。                                                                                                                                                                                                                                                                                                                                                                                                                     |
| version      | String                                                                                          | 微服务版本号。字符长度为1\~64。 正则表达式为\^\[0-9\]$\|\^\[0-9\]+(.\[0-9\]+)$。                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| description  | String                                                                                          | 微服务描述信息。字符长度不超过256。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| level        | String                                                                                          | 微服务层级。 **取值范围：** - FRONT  - MIDDLE  - BACK                                                                                                                                                                                                      |
| registerBy   | String                                                                                          | 微服务注册方式。 **取值范围：** - SDK  - PLATFORM  - SIDECAR  - UNKNOWN                                                                                                                              |
| schemas      | Array of strings                                                                                | 微服务访问的契约内容。支持数字、字母，支持使用括号内字符做连接符(_-.)，长度1-160字节，数组长度最大100个契约。                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| status       | String                                                                                          | 微服务状态。 **取值范围：** - UP：表示微服务上线状态。  - DOWN：表示微服务下线状态。                                                                                                                                                                                                                                                  |
| timestamp    | String                                                                                          | 微服务注册时间。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| modTimestamp | String                                                                                          | 最后修改UTC时间。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| framework    | [Framework] object               | 开发框架信息。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| paths        | Array of [ServicePath] objects | 服务路由信息。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
   
 表5Framework 
| 参数      | 参数类型   | 描述          |
|:---|:---|:---|
| name    | String | 微服务开发框架。    |
| version | String | 微服务开发框架版本号。 |
   
 表6ServicePath 
| 参数       | 参数类型   | 描述                                 |
|:---|:---|:---|
| Path     | String | 路由地址。                              |
| Property | Object | 微服务扩展属性，可以自定义KEY和相应的Value。长度最小1字节。 |
   
**状态码： 400**
表7响应Body参数 
| 参数           | 参数类型   | 描述      |
|:---|:---|:---|
| errorCode    | String | 错误代码。   |
| errorMessage | String | 错误信息。   |
| detail       | String | 详细定位信息。 |
   
**状态码： 500**
表8响应Body参数 
| 参数           | 参数类型   | 描述      |
|:---|:---|:---|
| errorCode    | String | 错误代码。   |
| errorMessage | String | 错误信息。   |
| detail       | String | 详细定位信息。 |
   
#### 请求示例
查询当前注册的所有微服务信息。
```
GET https://{endpoint}/v4/{project_id}/registry/microservices
```
#### 响应示例
**状态码： 200**
查询成功。
```
{
    "services": [
        {
            "serviceId": "8aed80ea052ac04a64dfc79c24f2170224d074f5",
            "appId": "default",
            "serviceName": "test",
            "version": "1.0.0",
            "description": "this is a test",
            "level": "BACK",
            "status": "UP",
            "timestamp": "1650543950",
            "modTimestamp": "1650543950"
        },
        {
            "serviceId": "dcc6c1073eab3cadb47cea2e1a874b7883b02a63",
            "appId": "test",
            "serviceName": "test1",
            "version": "1.0.0",
            "level": "BACK",
            "status": "UP",
            "timestamp": "1650544223",
            "modTimestamp": "1650544223"
        }
    ]
}
```
#### 状态码
| 状态码 | 描述     |
|:---|:---|
| 200 | 查询成功。  |
| 400 | 错误的请求。 |
| 500 | 服务内部错误 |
   
#### 错误码
请参见[ServiceComb错误码](https://support.huaweicloud.com/api-cse/cse_06_0110.html)。
