【微服务】社区项目微服务改造错误记录——API与SVC路由

问题概述

路由方面,首先是从 Api 中的 client 创建出问题
再到了 404 又到了 500,最后又是 404 ,记录一下过程问题。

一. Client 创建问题

这个问题的错误在于,定义了 @FeignClient 参数后,对于方法参数的要求变细了
Post 和 Get 方法都需要指定的参数注解
Post 方法参数必须只有一个 @RequestBody
即,你的多个参数必须封装到一个实体中
我说别人的项目怎么一堆 Dto
个人偷了个懒,将数个 Dto 给合并了,因为是练手项目嘛

下面展示一个 Demo

    @PostMapping(path = "/comment/find_by_entity")
    List<Comment> findCommentsByEntity(@RequestBody FindComments find);

另,Get 的话可以有多个参数,但每个参数前必须配置 @RequestParam

二. 404,500 问题

问题的点其实同样,是路由的问题,只不过是依次暴露出来
这里对路由的设置进行总结。
首先,你要配置路由端口,因为我没用 yml,所以配置在 application.properties 中

server.port=8082

然后,你要配置 client 中的 @FeignClient 注解

包含后续路径和能得到 client 的 url

@FeignClient(name = "post-service", path = "/v1/post", url = "http://localhost:8082")

方法上的 Mapping 就不提了,自己注意

最后一点,你的Controller 层除了必要的路由处理外
还有将@Controller 改成 @RestController

ps:一个404问题总结帖

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值