list与object要用requestbody dis当中配置
响应数据与视图:
1.如果带有forword与redirect的必须是真实路径,不受视图解析器的影响
2.物理视图与逻辑视图默认采用请求转发的方式跳转
响应数据:
响应字符串:
普通方法 response携带
@ResponseBody标记
响应json数据:
方式一:
@responsebody 与@requestmapping进行组合使用
@responsebody将对象转化为json格式 打开注解驱动 导入jacksonbind
方式二:
直接转换为json格式然后返回
表现层数据封装:
返回的数据格式进行封装:
增删改:true
查询:一个json 一个json集合
对格式进行统一:
创建一个Javabean 对结果进行封装
对一个common进行提取:
方法的执行状态进行展示
代号表示状态:
进行数据的封装
controller的返回值按照R的类型进行返回
lombok 有参构造设置满
如果想要弹性的话需要自己设置有参构造 设置对应的参数
创建者模式建造者模式 lombok提供@Builder 会多一个builder对象 examplebuilder
异常处理:
可预计但是无法避免的异常 文件找不到指定路径
系统异常 发送固定消息 安抚用户 发送给指定运维人员进行维护
业务异常 不规范的用户行为产生的异常
如果有多层级的调用连应该不断向上抛出 由上层刚处理
共性异常当中,不需要在controller当中捕捉
共同的异常 springmvc异常全局处理类 向上抛出 确保所有异常被处理
@controllerAdvice 进行controller的增强底层其实是用了aop
@ResponseBody返回一个json字符串给前端
自定义异常 全局异常处理器 得到参数 e.getmessage
拦截器:
总在所有的之前 springmvc在dis与controller之间 叫做拦截器 其实作用于过滤器相似
但是时间比过滤器要晚 拦截器的范围要小
拦截器有点像环绕增强 前置与后置在controller
interceptor 可以阻止controller的运行
Filter属于serverlet的一部分 intercepter 仅对dis的请求
实现拦截器接口 注册拦截器 返回值进行放行
拦截器的执行顺序:
如果当中有一环被拦截 就会直接跳到最后
拦截器链 顺序按照xml文件当中声明的顺序进行执行
拦截器按照链式执行如果在2号被拦截了 他会执行121拦截
afterhandle只有一种执行的情况当controller执行的时候他才能执行
当一个通路的时候
RestFul风格:
认为在请求当中不应该出现动词 应该是纯粹的名词加上映射方式进行组合
设计风格 请求结果返回的一个封装范式
地址栏上是接口的请求地址
隐藏资源的访问行为 无法通过地址得知资源是何种操作
书写简化 get 查询操作 post 添加操作 put 修改操作 delete 删除操作
增删改查在restful风格下的请求格式 描述模块操作的时候使用users等复述
但是restful风格并不全部适用,因为不能完全适配每一种情况
postman模拟发送请求 body当中传参 params传get参数 body当中
put请求不能传表单的参数formContentFilter 获取到put请求的表单数据