学无先后,达者为师

网站首页 java综合 正文

记一次Feign中实现传实体Bean的问题_java

作者:听风动   更新时间: 2022-05-19 java综合

Feign如何传实体Bean

需要加一个@RequestBody序列化对象

    /**
     * 新增
     */
    @PostMapping("saveOrder")
    @ResponseBody
    public void saveOrder(@RequestBody OrderBean orderBean) {
        userService.saveOrder(orderBean);
    }

接口接收请求也要加一个@RequestBody注解 

    /**
     * 新增
     * @param orderBean
     */
    @PostMapping("saveOrder")
    public void saveOrder(@RequestBody OrderBean orderBean);

Feign注入Bean为null,启动报错

主要是feign版本和swagger版本冲突,本项目spring cloud 版本为 Finchley.M8

swagger冲突版本

        
        
            io.springfox
            springfox-swagger2
            2.2.2
        
        
            io.springfox
            springfox-swagger-ui
            2.2.2
        

解决方案

        
        
            io.springfox
            springfox-swagger2
            2.5.0
        
        
            io.springfox
            springfox-swagger-ui
            2.5.0
        

feign Service案例

@FeignClient(name  = "service-weixin",fallback = OAuthServiceFallBack.class, configuration = FeignConfig.class)
public interface OAuthService {
     @RequestMapping(value = "/oauth/getOauth2AuthorizationUrl", method = RequestMethod.GET)
     ResultBean getOauth2AuthorizationUrl(@RequestParam("url")String url);
}

controller注入

@RestController
@RequestMapping("/ticket")
public class TicketController {
    @Autowired
    private TicketService ticketService;
    @Autowired
    private OAuthService oAuthService;
    ...

原文链接:https://blog.csdn.net/SpringCYB/article/details/89208707

栏目分类
最近更新