记一次 SpringCloud OpenFeign 服务间调用传参异常

错误方式:

    /**
     * 参与方Controller中:更新角色缓存
     */
    @PostMapping(value = "/cacheSysUserRole")
    public Result<?> cacheSysUserRole(@RequestParam("userRoleList") List<SysUserRole> userRoleList) {
        cacheService.cacheSysUserRole(userRoleList);
        return success();
    }
    /**
     * 调用方Feign接口中:更新角色缓存
     *
     * @param userRoleList List<SysUserRole>
     * @return Result<?>
     */
    @PostMapping(value = "/gateway/gateway-cache/cacheSysUserRole")
    Result<?> cacheSysUserRole(@RequestParam("userRoleList") List<SysUserRole> userRoleList);

正确方式:

    /**
     * 参与方Controller中:更新角色缓存
     */
    @PostMapping(value = "/cacheSysUserRole")
    public Result<?> cacheSysUserRole(@RequestBody List<SysUserRole> userRoleList) {
        cacheService.cacheSysUserRole(userRoleList);
        return success();
    }
    /**
     * 发起方Feign接口中:更新角色缓存
     *
     * @param userRoleList List<SysUserRole>
     * @return Result<?>
     */
    @PostMapping(value = "/gateway/gateway-cache/cacheSysUserRole")
    Result<?> cacheSysUserRole(@RequestBody List<SysUserRole> userRoleList);

总结:方法使用@PostMapping,参数使用@RequestBody。

posted @ 2022-03-30 09:21  麦格马戈登  阅读(169)  评论(0)    收藏  举报