java rest 请求_REST 风格的请求方式

REST:即 Representational State Transfer。(资源)表现层状态转化。是目前最流行的一种互联网软件架构。它结构清晰、符合标准、易于理解、扩展方便, 所以正得到越来越多网站的采用。使用 REST 风格的请求方式,可以简化 url,达到使用同一个 url 不同请求方式来执行不同的方法。

REST 风格的请求方式分别对应了以下四种请求,这四种请求有分别对应了四种对资源的操作:

GET -----------> 获取资源

POST ---------> 新建资源

PUT -----------> 更新资源

DELETE ------> 删除资源

GET

GET 请求我们都很熟悉了,比如地址栏直接访问,超链接访问等。

我们创建一个控制器用来接收 GET 请求:

package com.pudding.controller;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.PathVariable;

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

import org.springframework.web.bind.annotation.RequestMethod;

@Controller

public class RestController {

@RequestMapping(value = "/rest/{id}", method = RequestMethod.GET)

public String get(@PathVariable Integer id) {

System.out.println("GET --- 查询数据 --- " + id);

return "success";

}

}

并且使用一个超链接来发出 GET 请求:

pageEncoding="UTF-8"%>

Rest风格请求

GET 请求

访问页面,点击页面上的超链接,会发现画面跳转到了 success.jsp 并且在控制台上输出了 "GET --- 查询数据 --- 1" 。说明控制器成功的接收到了 GET 请求并且获取到了 url 地址中的参数。

POST

POST 请求最常见的方式就是 form 表单了。

我们创建一个控制器来接收 POST 请求:

package com.pudding.controller;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.PathVariable;

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

import org.springframework.web.bind.annotation.RequestMethod;

@Controller

public class RestController {

@RequestMapping(value = "/rest", method = RequestMethod.POST)

public String post() {

// 接收表单中的各种信息

System.out.println("POST --- 创建数据");

return "success";

}

}

并且使用一个 form 表单来发出 POST 请求:

pageEncoding="UTF-8"%>

Insert title here

访问页面,点击页面上表单中的按钮,会发现画面跳转到了 success.jsp 并且在控制台上输出了 "POST --- 创建数据" 。说明控制器成功的接收到了 GET 请求。

PUT 和 DELETE

创建 GET 请求和创建 PUT 请求都很简单,但是 PUT 请求和 DELETE 请求呢?在我们正常的访问当中是创建不出 PUT 请求和 DELETE 请求的,所以我们需要使用 Spring 三大组件之一的过滤器Filter来发出 PUT 请求和 DELTE 请求。

发送 PUT 和 DELTE 请求的步骤:

在 web.xml 中添加HiddenHttpMethodFilter过滤器:

HiddenHttpMethodFilter

org.springframework.web.filter.HiddenHttpMethodFilter

HiddenHttpMethodFilter

/*

创建一个带 POST 请求的 form 表单:

在表单内添加 name 为 _method 的标签:

DELTE 请求同理,只需要将 put 求改为 delte 即可。不区分大小写。

如果按照以上步骤处理完成之后,点击按钮发现 HTTP 405 的错误提示:"消息 JSP 只允许 GET、POST 或 HEAD。Jasper 还允许 OPTIONS"。那么请参 HTTP 405 的错误提示:消息 JSP 只允许 GET、POST 或 HEAD。Jasper 还允许 OPTIONS 的解决方法 章节。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值