restful api
一般在实际项目开发中我们都会对外提供一个前后端分离的restful风格的api接口,在微服务中每个独立服务都会提供相应的api,然后作为eureka客户端的身份向注册中心里注册服务。
创建api客户端并向服务注册中心注册
打开IDEA File>New>Project 创建新项目。
填写项目包名和基本信息,jdk选择1.8
点击next到下一个界面,选择所需的依赖,这里也可以暂时不选,创建完项目后再在pom中添加所需依赖,这里需要写api接口和向注册中心注册服务,所以需要引用web和eureka-client依赖。
继续next,项目名称为hello,点击finish项目搭建完成。
项目工程结构
pom 文件
主要有两个依赖
<!--web api 接口-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--服务注册客户端-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
项目搭建就结束了,接下来就是编写接口并向注册中心注册服务了,src下新建一个包,命名为controller,接口控制层写在这里,包下新建类,HelloController。
package com.springcloud.hello.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @program: hello
* @description:
* @author: Mr.Wang
* @create: 2021-06-15 13:49
**/
@RestController
public class HelloController {
@GetMapping("/hello")
public String hello() {
return "hello spring cloud";
}
}
Application启动类上添加注解@EnableDiscoveryClient,表示该服务作为客户端将向注册中心注册服务。
application.properties 配置项目基本信息。
#服务名称
spring.application.name=hello-microservice
#端口
server.port=8001
#服务注册中心地址
eureka.client.service-url.defaultZone=http://localhost:8761/eureka/
# 是否从Eureka获取注册信息,缺省:true
# 这里作为客户端api不需要获取信息
eureka.client.fetch-registry=false
# 是否向注册中心注册自己,缺省:true
# 这里作为客户端api 需要向注册中心注册服务
eureka.client.register-with-eureka=true
接下来就是启动注册中心并向注册中心注册服务。
启动eureka服务端
打开浏览器访问http://localhost:8761/,此时服务列表里还没有任何服务。
启动我们刚刚创建的hello服务。
刷新http://localhost:8761/ 页面,可以看到此时服务列表多了一个服务名为:HELLO-MICROSERVICE 的服务。
此时服务成功向注册中心完成注册。
评论区