REST风格以及SpringMVC的参数传递

一.REST风格的简单介绍

REST的含义:representational state transfer(表象性状态转变),表述性状态转移是一组架构约束条件和原则。

REST风格是一种把所有事物都定义为资源的思想,是一种特殊的web服务的架构风格。

资源标识符就是URI(Uniform Resource Identifier),REST通过定义不同的URL对所有的资源进行唯一标识。

REST架构的基本原则
 网络上的所有事物都被抽象为资源

 每个资源都有一个唯一的资源标识符

 同一个资源具有多种表现形式(xml,json等)

 对资源的各种操作不会改变资源标识符

 所有的操作都是无状态的

 符合REST原则的架构方式即可称为RESTful

REST延伸出来RESTful,RESTful含义为REST式的,指的是严格遵守REST风格的东西,例如Restful web service。

URL的RESTful以后的变化(CRUD增删改查)
 RESTful前的URL
 GET请求:http://locahost:8080/user/query/id 根据id查询值
 POST请求:http://locahost:8080/user/save 新增
 POST请求:http://locahost:8080/user/update 修改
 GET/POST请求: http://locahost:8080/user/delete 删除

 RESTful后的URL
 GET请求:http://locahost:8080/user/id 根据id查询值
 POST请求:http://locahost:8080/user 新增
 PUT请求:http://locahost:8080/user 修改
 DELETE请求: http://locahost:8080/user 删除

借鉴于:【Restful】三分钟彻底了解Restful最佳实践

二.SpringMVC的参数传递

注解方式:@requestMapping,有value属性(一个参数时默认)指定url路径解析。

@Controller
@RequestMapping("/xxx")
public class xxxController {}

spingmvc用注解@Controller的方式声明控制器,用@RequestMapping(“/xxx”)注解声明改控制器拦截的url类型。

不同的请求会有不同的作用,不同的请求需要传递不同的参数,SpringMVC提供了4种获取参数的方式。

1、@RequestParam

用@RequestParam(“partyId”)的方式绑定参数值。

@RequestMapping(method = RequestMethod.GET)
public String setupForm(@RequestParam("partyId") int partyId, Model model) {
2、@PathVariable

当使用@RequestMapping URI template 样式映射时, 即 Url/{partyId}, 这时的paramId可通过 @Pathvariable注解绑定它传过来的值到方法的参数上。

@RequestMapping(method = RequestMethod.GET)
public String setupForm(@PathVariable(value = "partyId") int partyId, Model model) {
3、 @RequestHeader

通过@RequestHeader注解把xxxId绑定到partyId上。

@RequestMapping(method = RequestMethod.GET)
public String setupForm(@RequestHeader("xxxId") int partyId, Model model) {
4、@ModelAttribute

该注解有两个用法,一个是用于方法上,一个是用于参数上;
用于方法上时: 通常用来在处理@RequestMapping之前,为请求绑定需要从后台查询的model;

@ModelAttribute
public Account create(@RequestParam String number) {

用于参数上时: 用来通过名称对应,把相应名称的值绑定到注解的参数bean上;要绑定的值来源于:

1) @SessionAttributes 启用的attribute 对象上;

2) @ModelAttribute 用于方法上时指定的model对象;

3) 上述两种情况都没有时,new一个需要绑定的bean对象,然后把request中按名称对应的方式把值绑定到bean中。

 @RequestMapping(value = "/update", method = RequestMethod.POST)
 public Map<String, Object> updateParty(@Valid @ModelAttribute("Meeting") Meeting meeting,
                                      BindingResult result) {
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值