# 获取Nacos上所有注册的服务名称
# 使用 DiscoveryClient 可以获取到注册到 Nacos 所有的服务信息
@RestController
@RequestMapping("/depart")
@AllArgsConstructor
public class DepartController {
private final DiscoveryClient discoveryClient;
@GetMapping("services")
public Map<String, Object> getAllServiceNames() {
Map<String, Object> resMap = new HashMap<>();
//获取注册中心所有服务名称
List<String> services = discoveryClient.getServices();
for (String service : services) {
//获取指定微服务名称的所有微服务实例
List<ServiceInstance> instances = discoveryClient.getInstances(service);
for (ServiceInstance instance : instances) {
resMap.put(service, instance);
}
}
return resMap;
}
}
获取到的内容
{
"provider-8081": {
"serviceId": "provider-8081",
"instanceId": null,
"host": "192.168.14.30",
"port": 8081,
"secure": false,
"metadata": {
"nacos.instanceId": null,
"nacos.weight": "1.0",
"nacos.cluster": "DEFAULT",
"nacos.ephemeral": "true",
"nacos.healthy": "true",
"preserved.register.source": "SPRING_CLOUD"
},
"uri": "http://192.168.14.30:8081",
"scheme": null
},
"consumer-8080": {
"serviceId": "consumer-8080",
"instanceId": null,
"host": "192.168.14.30",
"port": 8080,
"secure": false,
"metadata": {
"nacos.instanceId": null,
"nacos.weight": "1.0",
"nacos.cluster": "DEFAULT",
"nacos.ephemeral": "true",
"nacos.healthy": "true",
"preserved.register.source": "SPRING_CLOUD"
},
"uri": "http://192.168.14.30:8080",
"scheme": null
}
}