本篇文章分析的是@SoulSpringMvcClient
注解,它的作用是:用于标记SpringMvc
服务中的接口,被标记的接口在系统启动的是时候,将当前接口注册到soul-admin
后台中。使用方式如下:
@RestController
@RequestMapping("/order")
@SoulSpringMvcClient(path = "/order")
public class OrderController {
//省略了其他代码
@GetMapping("/findById")
@SoulSpringMvcClient(path = "/findById", desc = "Find by id")
public OrderDTO findById(@RequestParam("id") final String id) {
OrderDTO orderDTO = new OrderDTO();
orderDTO.setId(id);
orderDTO.setName("hello world findById");
return orderDTO;
}
}
它的定义如下:
- 注解可以使用在类上,也可以使用在方法上;
path
:表示接口的路径;ruleName
:表示规则名称;desc
:接口描述信息;rpcType
:传输类型,默认是http
,在soul
网关中,还有SpringCloud
,Dubbo
,Sofa
等类型;enabled
:是否开启(是否被网关代理),默认是true
:registerMetaData
:是否注册元数据信息,默认是false
。
@Retention(RetentionPolicy.RUNTIME)
@Target({
ElementType.TYPE, ElementType.METHOD})
public @interface SoulSpringMvcClient {
/**
* Path string.
*
* @return the string
*/
String path();
/**
* Rule name string.
*
* @return the string
*/
String ruleName() default <