java入门,记一次微服务间feigin请求的问题

一、前言

记录工作中遇到的开发问题,而不是写博客凑字数。

二、微服务调用

1、通过本服务调用另外一个服务,需要定义一个接口,并用@FeignClient 注解进行注解

value = "服务名" 要调用的服务名

服务得到路径,对应的是controller的请求路径。

/tmpUser/updateUserNickName

java 复制代码
@FeignClient(value = "服务名")
public interface BlockChainClient {
	
	@PostMapping("/tmpUser/updateUserNickName")
	ResponseData<String> updateUserNickName(@RequestBody Map<String, Object> params);
}

需要调用的服务的controller

java 复制代码
@Slf4j
@RestController
@RequestMapping("tmpUser")
public class UserTmpController {
	
	
	   @Autowired
	    private UserService userService;
	    
		@ApiOperation(value = "更新用户昵称", notes = "更新用户昵称")
	    @PostMapping("updateUserNickName")
	    public ResponseData<String> updateUserNickName(@RequestBody Map<String, Object> param) {
	        try {
	        	String phone = "";
	        	String nickName="";
	        	if(param.containsKey("phone")) {
	        		phone = param.get("phone").toString();
	        		
	        	}
	        	
	        	if(param.containsKey("nickName")) {
	        		nickName = param.get("nickName").toString();
	        		
	        	}
	        	if(!StringUtils.isEmpty(phone) && !StringUtils.isEmpty(nickName)) {
	        		 
	        		 userService.updateUserNickName(phone, nickName);
	        	}
				 
				return ResponseData.success();
			} catch (Exception e) {
				e.printStackTrace();
			}
	        return ResponseData.error();
	    }

}

2.遇到的问题:

定义的接口传的参数类型需要和接口的参数类型一致,包括注解,否则报400错误。

比如接口是:@RequestBody 而 服务的controller是@RequestParam 就会包400错误、

相关推荐
写代码像蔡徐抻几秒前
三年了,AI为何还没有抢走程序员饭碗?
前端·后端·面试
梦曦i5 分钟前
unix-router v0.1.0 首发:uni-app x 的 vue-router 风格路由库
前端·uni-app
toolsmith5 分钟前
AI能替你读代码,但替代不了你积累洞察力:一次YouTrack逆向实战全记录
java·源码阅读
步行cgn6 分钟前
Spring Boot 绑定简单 Bean 详解
java·spring boot·后端
鹿角片ljp7 分钟前
我如何用 Frontend Design Skill 重构平台
java
Linsk7 分钟前
妙用:focus解决0到auto高度过渡的边界场景
前端·css
未秃头的程序猿8 分钟前
分库分表一年后,我复盘了当时最该想清楚的三件事
java·数据库·后端
零域码客10 分钟前
一文掌握 jQuery + Flask 全栈核心知识点(前端交互 + 后端接口 + 前后端联调)
前端·python·ajax·flask·jquery·前后端联调·web全栈
岁月如歌778611 分钟前
顺序消息与幂等消费完全指南:从队列有序到接口幂等
java·后端·架构
秋名RG11 分钟前
Java 泛型深度解析:从类型安全到现代实践(JDK 21 视角)
java·windows·安全