Java常见HTTP请求方法RequestMethod Java常见HTTP请求方法RequestMethod

Java常见HTTP请求方法RequestMethod

spring中常见的http请求访问方法:

public enum RequestMethod {

    GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS, TRACE

}
  • 1
  • 2
  • 3
  • 4
  • 5

如: @RequestMapping(value = “/new”, method = RequestMethod.GET)

各个请求方法的使用场景

  • GET

平时网页的一些基本的URL都是GET请求的,用于执行查询操作
但是由于GET中URL是有长度的限制的,而GET会把所有的参数都放在URL中,比如

xxx?name=xingoo
因此就会有下面的问题:

1 数据都明文暴露,用户可以直接看到
2 数据长度有限制

  • POST

由于上面GET的缺点,POST正好弥补了这些问题。POST方法把数据都存放在body里面,这样即突破了长度的限制;又保证用户无法直接看到。在使用表单时,比较常用

  • HEAD

HEAD请求只会返回首部的信息,不会返回相应体。通常用于测试数据是否存在、当做心跳检测等等。

  • PUT

与GET相反,用于改变某些内容

  • DELETE

删除某些资源

  • TRACE

可以理解成,我们为了看看一条请求在到达服务前数据发生了什么变化。可以使用这个命令,它会在最后一站返回原始信息,这样就可以观察到中间是否修改过请求。(经常会用于跨站攻击,所以有一定的安全隐患)

  • OPTIONS

询问服务器支持的方法。

  • PATCH

这个方法不太常见,是servlet 3.0提供的方法,主要用于更新部分字段。与PUT方法相比,PUT提交的相当于全部数据的更新,类似于update;而PATCH则相当于更新部分字段,如果数据不存在则新建,有点类似于neworupdate。

在控制器中,我们可以通过设置RequestMapping的method方法,改变接收数据controller:
@Controller
public class HelloController {
@RequestMapping(value=”/test”,method=RequestMethod.GET)
public @ResponseBody String get(){
return “from get”;
}
@RequestMapping(value=”/test”,method=RequestMethod.POST)
public @ResponseBody String post(){
return “from post”;
}
}
虽然上面的Url是一样的,但是由于请求方法不同,他们会根据请求方法使用相应的控制器方法处理请求。

猜你喜欢

转载自blog.csdn.net/budaoweng0609/article/details/80415054
今日推荐