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

相关推荐
CHU7290356 分钟前
一番赏盲盒抽卡机小程序:解锁惊喜体验与社交乐趣的多元功能设计
前端·小程序·php
RFCEO7 分钟前
前端编程 课程十二、:CSS 基础应用 Flex 布局
前端·css·flex 布局·css3原生自带的布局模块·flexible box·弹性盒布局·垂直居中困难
码界奇点14 分钟前
基于Spring Boot和Vue3的无头内容管理系统设计与实现
java·spring boot·后端·vue·毕业设计·源代码管理
九皇叔叔24 分钟前
【03】微服务系列 之Nacos 注册中心(服务注册)
java·微服务·nacos·架构·注册中心·服务注册
天若有情67331 分钟前
XiangJsonCraft v1.2.0重大更新解读:本地配置优先+全量容错,JSON解耦开发体验再升级
前端·javascript·npm·json·xiangjsoncraft
木辰風43 分钟前
PLSQL自定义自动替换(AutoReplace)
java·数据库·sql
2501_944525541 小时前
Flutter for OpenHarmony 个人理财管理App实战 - 预算详情页面
android·开发语言·前端·javascript·flutter·ecmascript
heartbeat..1 小时前
Redis 中的锁:核心实现、类型与最佳实践
java·数据库·redis·缓存·并发
打小就很皮...1 小时前
《在 React/Vue 项目中引入 Supademo 实现交互式新手指引》
前端·supademo·新手指引
C澒1 小时前
系统初始化成功率下降排查实践
前端·安全·运维开发