feign 3.x

1、name 定义服务提供方的名称

2、contextId 规定 bean 的名称(多个 @FeignClient)

3、path 规定前缀(重点注意项目是否有 path-prefix 前缀)

4、示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package com.amoros.hawkeye.acl.message.feign;

import com.amoros.hawkeye.acl.message.dataobject.dto.MessageAddDTO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import top.legendscloud.common.base.ComReq;
import top.legendscloud.common.base.ComResp;

import javax.validation.Valid;
import java.util.List;

@Api(tags = "消息表")
@FeignClient(name = "${amoros.pumpkin.message.name:message}", contextId = "MessageFeignClient", path = "/message")
public interface MessageFeignClient {

@ApiOperation("消息 添加(多表) => 响应体=发送失败列表")
@PostMapping("/add")
ComResp<List<MessageAddDTO>> add(@Valid @RequestBody ComReq<List<MessageAddDTO>> comReq);
}