spring web PostMapping ,RequestMapping, 全局日志

注解来自于 spring-web-5.3.21.jar

例子1

复制代码
@RestController
@RequestMapping("/v1/alg")
public class AlgController {

@PostMapping(value = "/task/{taskNo}", produces = "application/json; charset=utf-8")

@ResponseBody

public BaseRep<Boolean> insertTaskResult(

@PathVariable @NotBlank String taskNo,

@RequestBody Object result) {

例子2

@Controller

@RequestMapping("")

public class GatewayController {

@RequestMapping(value = "/proxy", method = { RequestMethod.GET,

RequestMethod.POST }, produces = "application/json; charset=utf-8")

@ResponseBody

@SkipXss

public BaseResponse<Object> proxy(@RequestParam(value = "facade") String facade,

@RequestParam(value = "method") String method,

@RequestParam(value = "paramJson") String paramJson,

@RequestParam(value = "env") String env) {

get发送的时候 ,可以在body里填数据么?

全局监控

复制代码
@ControllerAdvice
public class GlobalExceptionHandler {
    private static final Logger LOGGER = LoggerFactory.getLogger(GlobalExceptionHandler.class);


    /**
     * 处理自定义的业务异常
     * @param req
     * @param e
     * @return
     */
    @ExceptionHandler(value = BizException.class)
    @ResponseBody
    public BaseRep bizExceptionHandler(HttpServletRequest req, BizException e){
        LogUtil.error(LOGGER,e,"发生异常!BizException,code="+e.getErrorEnum()+",msg="+e.getMessage());
        BaseRep baseRep = new BaseRep();
        baseRep.setSuccess(false);
        baseRep.setResultCode(e.getErrorEnum().getCode());
        baseRep.setResultMessage(e.getErrorEnum().getDesc());
        return baseRep;
    }

    /**
     * 处理其他异常
     * @param req
     * @param e
     * @return
     */
    @ExceptionHandler(value = Throwable.class)
    @ResponseBody
    public BaseRep exceptionHandler(HttpServletRequest req, Throwable e) throws IOException {
        LogUtil.error(LOGGER,e,"异常!Throwable,req="+req.getRequestURL()+",input="+req.getInputStream()+",msg="+e.getMessage());
       
相关推荐
人良爱编程几秒前
Hugo的Stack主题配置记录03-背景虚化-导航栏-Apache ECharts创建地图
前端·javascript·apache·echarts·css3·html5
来颗仙人掌吃吃2 分钟前
解决Echarts设置宽度为100%发现宽度变为100px的问题(Echarts图标宽度自适应问题)
前端·javascript·echarts
余子桃2 分钟前
Echarts图表官网打开太慢怎么办?echarts.apache.org
前端·javascript·echarts
pas1363 分钟前
41-parse的实现原理&有限状态机
开发语言·前端·javascript
fuquxiaoguang6 分钟前
深入浅出:使用MDC构建SpringBoot全链路请求追踪系统
java·spring boot·后端·调用链分析
琹箐14 分钟前
最大堆和最小堆 实现思路
java·开发语言·算法
黑色的糖果16 分钟前
vue中tailwindcss插件的引入及使用
前端·javascript·vue.js
戌中横20 分钟前
JavaScript——预解析
前端·javascript·学习
__WanG23 分钟前
JavaTuples 库分析
java
坚持就完事了44 分钟前
数据结构之树(Java实现)
java·算法