SpringBoot Web开发

Spring Boot 解析表单的Rest风格:

        通过post方式进入,判断是否又隐藏的、名为_method 的表单,有的话读取其中的value 再来区分是Delete 还是 Put。


		if ("POST".equals(request.getMethod()) && request.getAttribute(WebUtils.ERROR_EXCEPTION_ATTRIBUTE) == null) {
			String paramValue = request.getParameter(this.methodParam);
			if (StringUtils.hasLength(paramValue)) {
				String method = paramValue.toUpperCase(Locale.ENGLISH);
				if (ALLOWED_METHODS.contains(method)) {
					requestToUse = new HttpMethodRequestWrapper(request, method);
				}
			}
		}

Spring Boot 自动配置了默认的RequestMappingHandlerMapping 里面保存了所有 @RequestMapping 和 handler的映射规则。

请求进来,挨个尝试所有的HandlerMapping 看是否有请求信息可以匹配到处理器。

        如果有,就找到这个请求对应的handler

        如果没有就是下一个HandlerMapping

@PathVariable 可接收基础类型和map类型的路径变量

@RequestHeader 可以用String 类型或者Map类型接收请求头的信息。当用String 类型接收单个的请求头信息时,需要在注解中指定要接收信息的key。

@RequestParam 同上

@RequestBody 可以用自定义的JavaBean接收传过来的参数

@MatrixVariable 矩阵变量。

        使用矩阵变量的前提:SpringBoot 自动禁用了矩阵变量的功能(原理是:开启了删除请求路径中分号和分号以后的内容,而矩阵变量的实质就是路径变量 + ; + k=v 的结构),要处理这个问题需要自己手动开启UrlPathHelper中 removeSemicolonContent 中开启的移除分号的内容。

        强调:矩阵变量必须要有url路径变量,不能直接写死!可以通过不同的路径变量名称来取同样参数名字的参数。 

        使用场景:当Cookie被禁用时,可以将jsessionId放到矩阵变量中完成对cookie的传递。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值