我们提供安全,免费的手游软件下载!

安卓手机游戏下载_安卓手机软件下载_安卓手机应用免费下载-先锋下载

当前位置: 主页 > 软件教程 > 软件教程

Rest风格请求处理的注意事项和细节

来源:网络 更新时间:2024-09-11 09:33:54

Rest风格请求是一种常见的网络请求处理方式。在使用Rest风格请求时,需要注意一些细节和注意事项,特别是在使用SpringBoot支持页面表单的Rest功能时,需要进行一些配置和设置。

Rest风格请求的核心过滤器是HiddenHttpMethodFilter,它能够将表单请求转换为标准的HTTP请求,从而支持PUT、DELETE等请求方式。在使用PostMan作为客户端时,可以直接发送PUT、DELETE等方式的请求,无需设置Filter。

  1. HiddenHttpMethodFilter的作用是拦截表单请求,获取表单_method的值,并转换为PUT、DELETE、PATCH等HTTP请求方法。
  2. 要启用SpringBoot支持页面表单的Rest功能,需要在application.yml中启用filter功能。
  3. 需要在application.yml中配置HiddenHttpMethodFilter的启用。

Rest的核心过滤器:

  1. HiddenHttpMethodFilter能够转换POST请求为标准的HTTP请求,因此需要特别注意这一点。
  2. HiddenHttpMethodFilter的作用是将不受浏览器支持的请求方法(如DELETE、PUT)转换为标准的HTTP请求。
  3. 需要在web.xml中配置HiddenHttpMethodFilter。

Spring Boot的视图解析器配置示例:

spring:
  mvc:
    hiddenmethod:
      filter:
        enabled: true # 开启页面表单的rest功能,启用了HiddenHttpMethodFilter,支持rest
    view: # 配置视图解析器
      prefix: /rainbowsea/** # 这里是需要注意,如果你配置了 static-path-pattern: /rainbowsea/** 需要保持一致
      suffix: .html
    static-path-pattern: /rainbowsea**

在使用Spring Boot时,返回"hello"字符串实际上是将请求转发到对应的资源文件,而不是直接返回字符串。

package com.rainbowsea.springboot.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HiController {

    @RequestMapping("/hello")
    public String hi(){
        return "hi:):)";
    }

    @RequestMapping("/go")
    public String go(){
        return "hello";
        /*
        return 是先看视图解析器当中是否有 hello.html 页面,没有就在找 controller 控制是否有处理该请求的,如果两者都没有则报 404错误
        */
    }
}

需要注意,配置了视图解析器后,当存在hello.html静态资源时,并不会走controller。

如果将静态文件资源hello.html移除后再次访问http://localhost:8080/go:

最后

在这个最后的篇章中,我要表达我对每一位读者的感激之情。你们的关注和回复是我创作的动力源泉,我从你们身上吸取了无尽的灵感与勇气。我会将你们的鼓励留在心底,继续在其他的领域奋斗。感谢你们,我们总会在某个时刻再次相遇。