@Valid不使用bind改为抛出异常

本文介绍如何在不继承Spring自带类的情况下实现对未bind情况下的400错误进行自定义处理。通过实现ControllerAdvice避免默认返回400状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

默认没bind返回400

不想返回400可以实现ConreollerAdvicer并且不继承spring自带的

我是新手,帮助我分析理解下面内容package com.gs.khxx.facade.platform.controller.open; import cn.hutool.json.JSONUtil; import com.github.xiaoymin.knife4j.annotations.ApiSupport; import com.gs.khxx.base.response.ResponseData; import com.gs.khxx.rpc.api.commodity.IThirdOpenGoodsRpc; import com.gs.khxx.rpc.api.trade.IThirdOpenTradeRpc; import com.gs.khxx.rpc.api.user.IThirdOpenUsersRpc; import com.gs.khxx.struct.trade.dto.qianhu.QianHuParamDTO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.config.annotation.DubboReference; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.validation.Valid; @RestController @RequestMapping("/thirdOpen/api") @Api(tags = "第三方接入接口调用") @ApiSupport(order = 10003) @Slf4j public class ThirdOpenController { @DubboReference IThirdOpenGoodsRpc thirdOpenGoodsRpc; @DubboReference IThirdOpenUsersRpc thirdOpenUsersRpc; @DubboReference IThirdOpenTradeRpc thirdOpenTradeRpc; @ApiOperation("手动调用盛唐接口") @PostMapping(value = "/syncst") public ResponseData<String> openApi(@Valid @RequestBody QianHuParamDTO.SyncParamDTO dto) { log.info("openApi:{}", JSONUtil.toJsonStr(dto)); // 【10:供应商,20:客户,30:商品,40:订单】 switch (dto.getParamType()) { case 30: thirdOpenGoodsRpc.syncStGoods(null,null,dto.getIds()); break; // case 40: // tradeQianHuRpc.syncTrade(null,null,dto.getIds()); // break; } return ResponseData.success(); } @ApiOperation("手动调用金蝶接口") @PostMapping(value = "/syncjd") public ResponseData<String> openJdApi(@Valid @RequestBody QianHuParamDTO.SyncParamDTO dto) { log.info("openApi:{}", JSONUtil.toJsonStr(dto)); // 【10:供应商,20:客户,30:商品,40:订单】 switch (dto.getParamType()) { case 20: thirdOpenUsersRpc.syncJdUser(dto.getId()); break; case 30: thirdOpenGoodsRpc.syncJdGoods(null,null,dto.getIds()); break; case 40: thirdOpenTradeRpc.syncJdTrade(dto.getId()); break; } return ResponseData.success(); } }
最新发布
06-07
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值