如何避免在Spring MVC实践中犯下哪些常见错误?
- 内容介绍
- 文章标签
- 相关推荐
本文共计772个文字,预计阅读时间需要4分钟。
使用Spring MVC实现RESTful风格的接口,实现前后端分离,后端仅提供数据接口,不负责页面渲染。后端统一处理:请求参数校验、响应数据格式、全局异常处理。
使用spring mvc提供restful风格的接口,实现前后端分离,后端只提供数据接口,而不做页面渲染。因此可对接口做统一处理:
- 请求参数校验
- 响应数据格式
- 全局异常处理
通过以上统一处理,开发人员可专注于业务处理,把校验,异常响应的逻辑分离出来。
请求参数校验:
对于url中的参数
- 如果添加@RequestParam,但没有传递该参数,则抛出MissingServletRequestParameterException异常
- 如果添加@Max等注解,同时不满足该条件,抛出ConstraintViolationException 或BindException异常
对于request body请求体中的参数
- Bean前添加@RequestBody,如果没有请求体,抛出HttpMessageNotReadableException异常
- 在bean前添加@Validate注解,bean中属性添加@Max,@NotNull等注解,即对响应属性进行校验,如果不满足,抛出MethodArguementNotValidException
- @Validate内可添加group,表明需要校验的操作,@Max可添加groups,当groups包含group时,则进行校验。
本文共计772个文字,预计阅读时间需要4分钟。
使用Spring MVC实现RESTful风格的接口,实现前后端分离,后端仅提供数据接口,不负责页面渲染。后端统一处理:请求参数校验、响应数据格式、全局异常处理。
使用spring mvc提供restful风格的接口,实现前后端分离,后端只提供数据接口,而不做页面渲染。因此可对接口做统一处理:
- 请求参数校验
- 响应数据格式
- 全局异常处理
通过以上统一处理,开发人员可专注于业务处理,把校验,异常响应的逻辑分离出来。
请求参数校验:
对于url中的参数
- 如果添加@RequestParam,但没有传递该参数,则抛出MissingServletRequestParameterException异常
- 如果添加@Max等注解,同时不满足该条件,抛出ConstraintViolationException 或BindException异常
对于request body请求体中的参数
- Bean前添加@RequestBody,如果没有请求体,抛出HttpMessageNotReadableException异常
- 在bean前添加@Validate注解,bean中属性添加@Max,@NotNull等注解,即对响应属性进行校验,如果不满足,抛出MethodArguementNotValidException
- @Validate内可添加group,表明需要校验的操作,@Max可添加groups,当groups包含group时,则进行校验。

