Spring MVC相关的注解

@Conttoller

是用来表示注解的类做为MVC 框架的一个controller 的主要注解 ,dispatcher servlet 扫描被@controller 注解的类,从而将web请求映射到被@requestmapping 注解的方法上。

@Controller
public class AdviceController {

}

与Conttoller 类似的还有一个@RestController 该注解主要是返回数据,提供一个Rest 接口

@RestController
public class AdviceController {

}

@RequestMapping

@requestmappering注解用来将用户请求映射到处理器类或者方法,可以在类级别或者方法级别应用该注解。使用@requestmapping注解的方法可以允许有非常灵活的签名,他可以接受HTTP servlet 请求/响应对象,HTTP session对象,inputstream output stream 对象,path variable /modeattribute 注解参数,bingdingresult 对象以及其他对象

    @RequestMapping(value = "urlName")
    public String name(String name) {
        return name;
    }

@ModeAttribute

该注解使用一个向视图公开的建将一个返回值与一个参数在一起 ,可以在方法级别或方法的参数上应用该注解

@PathVariable

将一个方法参数绑定到一个URL 模板 ,如果可以通过URL 从用户获取数据 ,将有利于处理器方法的执行,所以通过 @PathVariable 从URL 中获取数据传给后台 @PathVariable 参数可以是任何类型 ,如 int date string

    @RequestMapping(value = "/user/{userId}")
    public String test(@PathVariable Long userId){
        
    }

@ConttollerAdvice

将代码集中到一个地方,以便跨控制器共享代码 ConttollerAdvice 注解的类可以包含有 ExceptionHandler InitBinder 和 ModeAttribute ,这些方法可以被应用到应用程序中所有带有@RequestMapping 注解的方法中
其中@InitBinder用来初始化webDataBinder方法,比如之策自定义编辑器,以便解析日期字段
@ExceptionHandler 用来定义方法来处理控制器类发生的异常

@ControllerAdvice
public class GlobalControllerExceptionHandler {
    private static final Logger LOGGER = LoggerFactory.getLogger(GlobalControllerExceptionHandler.class);
    private JSONObject jsonObject = new JSONObject();

    @ExceptionHandler(value = Exception.class)
    public Object defaultErrorHandler(Exception e) {
        LOGGER.error(e.getMessage());
        jsonObject.put("code", -1);
        jsonObject.put("message", e.getMessage());
        ResponseEntity responseEntity = new ResponseEntity(jsonObject, HttpStatus.INTERNAL_SERVER_ERROR);
        return  responseEntity;
    }
    @ModelAttribute
    public void addModelAttribute(Model model){
        model.addAttribute("msg","hello world");
    }
}

github url: springbootcontrolleradvice

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值