feign.FeignException$InternalServerError: [500]GET
在进行微服务联调时出现问题
feigin client代码
@FeignClient(value = "category-service",configuration = FeignClientsConfiguration.class)
public interface CategoryClient {
@GetMapping("/category/promo/{categoryName}")
R byName(@PathVariable String categoryName);
}
对应controller代码
@GetMapping("/promo/{categoryName}")
public R byName(@PathVariable String categoryName){
if (StringUtils.isEmpty(categoryName)){
return R.fail("类别名称为null,无法查询类别数据!");
}
return categoryService.byName(categoryName);
}
注意区分@PathVariable以及@RequestParam注解:
@PathVaribale 获取url中的数据
@RequestParam 获取请求参数的值
参考博客:http://t.csdnimg.cn/p4ATo
一开始直接查询错误看看怎么解决,有说加@RequestBody的,但是我的是Get方法,所以不需要加。还有lombok的构造参数方法什么的也不是。后来发现,因为不熟悉之前提到的两种注解的区别,导致路径不对,所以一直没发现数据库的错误(没走到数据库,所以那个服务没报错),原来是数据库中url中数据库名写错导致一直找不到表,修改后发现查询成功但是查不到数据,debug调试后,发现没加@JsonProperty配置json返回数据的别名,导致获取不到相关的id值,因此查询不到数据,添加后端口测试正常。
人给我整麻了,我是菜鸡(哭哭哭)