80 lines
2.2 KiB
Markdown
80 lines
2.2 KiB
Markdown
## Nacos
|
||
|
||
在bin包下
|
||
|
||
输入
|
||
|
||
```cmd
|
||
startup.cmd -m standalone
|
||
就可以启动nacos服务
|
||
在http://localhost:8848/nacos下
|
||
```
|
||
|
||
## @EnableDiscoveryClient
|
||
|
||
在主类上卖弄使用这个注解 可以使服务发现
|
||
|
||
都是能够让**注册中心**能够发现,扫描到该服务。
|
||
|
||
## DiscoveryClient discoveryClient;
|
||
|
||
在discoveryClient可以得到
|
||
|
||
```java
|
||
@SpringBootTest
|
||
public class ProductApplicationTest {
|
||
@Autowired
|
||
DiscoveryClient discoveryClient;//nacos
|
||
@Autowired
|
||
NacosDiscoveryClient nacosDiscoveryClient;//二者效果一样,这个依赖nacos 只能由nacos使用
|
||
|
||
@Test
|
||
public void discoveryClientTest(){
|
||
List<String> services = discoveryClient.getServices();//注册中心的微服务
|
||
for (String service : services) {
|
||
System.out.println("service = " + service);
|
||
List<ServiceInstance> instances = discoveryClient.getInstances(service);//获得服务的实例List
|
||
for (ServiceInstance instance : instances) {
|
||
System.out.println("instance.getHost() = " + instance.getHost());//获得ip地址 和端口列表
|
||
System.out.println("instance.getPort() = " + instance.getPort());
|
||
}
|
||
}
|
||
}
|
||
|
||
@Test
|
||
public void nacosDiscoveryClientTest(){
|
||
List<String> services = nacosDiscoveryClient.getServices();
|
||
for (String service : services) {
|
||
System.out.println("service = " + service);
|
||
List<ServiceInstance> instances = nacosDiscoveryClient.getInstances(service);
|
||
for (ServiceInstance instance : instances) {
|
||
System.out.println("instance.getHost() = " + instance.getHost());
|
||
System.out.println("instance.getPort() = " + instance.getPort());
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
```
|
||
|
||
|
||
|
||
|
||
|
||
## @RestController
|
||
|
||
@RestController下的方法默认返回的是数据格式
|
||
|
||
简而言之,`@RestController` 适用于构建 RESTful 风格的 API,其中每个方法的返回值会直接序列化为** JSON 或 XML** 数据并发送给客户端。
|
||
|
||
,@Controller注解标注的类下面的方法默认返回的就是以视图为格式
|
||
|
||
|
||
|
||
## RestTemplate
|
||
|
||
```java
|
||
restTemplate.getForObject(url, Product.class);
|
||
```
|
||
|