Feign客户服务端配置了server.servlet.context-path,客户端无法调用

Feign客户服务端配置了server.servlet.context-path,客户端无法调用

背景

Feign服务方有配置:spring.application.name=scms-vendor-portals-fyk,服务端Feign的代码大致如下:

@RestController
@RequestMapping("/bomProductFeignService")
public class BomProductFeignService {
	@PostMapping("/status")
	public boolean updateStatus(ScmbBomBill bomBill) throws BocoException {
		System.out.println("=================进入了服务端================");
		return true;
	}

正常情况下,在客户端,这样写,就可以调用了:

@FeignClient(name="scms-vendor-portals-fyk/bomProductFeignService")
public interface BomProductFeignClient {

	@PostMapping("/status")
	public boolean updateStatus(@RequestBody ScmbBomBill bomBill) throws BocoException;
	
}

问题

现在要在Feign服务方的项目中,加入配置 server.servlet.context-path=/fyk,这时,feign客户端还是使用如上方法就会错。
错误提示:404。

解决方法

这个问题出现的最终原因就是因为调用服务端的Feign的时候,路径出错了,这个使用,要是用path属性来指定前缀。这个时候name属性就写服务的serviceId。

@FeignClient(name="scms-vendor-portals-fyk", path="fyk/bomProductFeignService")
public interface BomProductFeignClient {

	@PostMapping("/status")
	public boolean updateStatus(@RequestBody ScmbBomBill bomBill) throws BocoException;
}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值