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错误、

相关推荐
历程里程碑2 分钟前
hot 206
java·开发语言·数据结构·c++·python·算法·排序算法
烛阴4 分钟前
C# 正则表达式(3):分组与捕获——从子串提取到命名分组
前端·正则表达式·c#
Coder_Boy_12 分钟前
Java+Proteus仿真Arduino控制LED问题排查全记录(含交互过程)
java·人工智能·python
一 乐20 分钟前
校园实验室|基于springboot + vue校园实验室管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端
Lisonseekpan31 分钟前
Spring Boot Email 邮件发送完全指南
java·spring boot·后端·log4j
sheji341635 分钟前
【开题答辩全过程】以 基于Springboot的体检中心信息管理系统设计与实现为例,包含答辩的问题和答案
java·spring boot·后端
天河归来40 分钟前
本地windows环境升级dify到1.11.1版本
java·spring boot·docker
eason_fan1 小时前
从一则内存快照看iframe泄漏:活跃与Detached状态的回收差异
前端·性能优化
超级种码1 小时前
Java:JavaAgent技术(java.instrument和java.attach)
java·开发语言·python
甜鲸鱼1 小时前
【Spring AOP】操作日志的完整实现与原理剖析
java·spring boot·spring