Spring mvc之Restful API

这是一个路径,http://127.0.0.1:8080/OperationAPI/v0.1/pins/3是API的具体网址。在RESTful架构中,每个网址代表一种资源(resource),所以网址中不能有动词,只能有名词,而且所用的名词往往与数据库的表格名对应。一般来说,数据库中的表都是同种记录的"集合"(collection),所以API中的名词也应该使用复数。http://127.0.0.1:8080表示的本地的域名,OperationAPI表示的是项目名称,v0.1表示的api的版本号,pins表示这个api提供数据库中pins表的具体信息。3表示pins表中对应的某个列的id,这里是个pin_id。

1,API与用户的通信协议,总是使用HTTPs协议。

2,应该尽量将API部署在专用域名之下,例如OperationAPI这个api就是部署在本地域名的下面。

3,应该将API的版本号放入URL,比如v0.1

4,对于资源的具体操作类型,由HTTP动词表示。

常用的HTTP动词有下面四个(括号里是对应的SQL命令)。

          GET(SELECT):从服务器取出资源。

          POST(CREATE):在服务器新建一个资源。

          PUT(UPDATE):在服务器更新资源。

          DELETE(DELETE):从服务器删除资源。

下面是一些例子 :

  • POST /pin:新建一个pin。
  • GET /pins/3:获取指定的pin_id为3的信息。
  • PUT /pins/3:更新指定的pin_id为3的信息。
  • DELETE /pins/3:删除指定的pin_id为3的信息。

    分布在各处的资源由URL确定,REST 是一种客户端的应用通过URL来获取资源的表示方式。获得这些表示致使这些应用程序转变了其状态。随着不断获取资源的表示方式,客户端应用不断地在转变其状态,这就是所谓表述性状态转移(Representational State Transfer)。通俗点说就是你一个网页要获取资源,比如获取某个数据库的数据,就得调用RestAPI来获取,这个API的动作是GET,你的状态就变成了GET这个状态,你要删除数据库中某个资源,就通过调用DELETE这个RestAPI来实现删除操作,此时你的状态就变成了DELETE。

原文地址:https://www.cnblogs.com/glfcdio/p/8252654.html

时间: 2024-10-08 20:10:40

Spring mvc之Restful API的相关文章

使用Spring MVC开发RESTful API(续)

使用多线程提高REST服务性能 异步处理REST服务,提高服务器吞吐量 使用Runnable异步处理Rest服务 AsyncController.java @RestController @GetMapping("/async") public class AsyncController { private Logger logger = LoggerFactory.getLogger(getClass()); @RequestMapping("/order") p

应用Spring MVC发布restful服务是怎样的一种体验

摘要:“约定优于配置”这是一个相当棒的经验,SOAP服务性能差.基于配置.紧耦合,restful服务性能好.基于约定.松耦合,现在我就把使用Spring MVC发布restful服务的过程同大家分享.代码之优雅.过程之简单.编码之愉快,不是发布SOAP服务所能匹敌的. 关键字:java, rest, webservice, spring mvc 前提:IntelliJ IDEA (13.1.5 版本), apache maven (3.2.3 版本), Tomcat(7.0.56版本), Spr

spring-boot实战【04】:Spring Boot构建RESTful API

@Controller:修饰class,用来创建处理http请求的对象@RestController:Spring4之后加入的注解,原来在@Controller中返回json需要@ResponseBody来配合,如果直接用@RestController替代@Controller就不需要再配置@ResponseBody,默认返回json格式.@RequestMapping:配置url映射 下面我们尝试使用Spring MVC来实现一组对User对象操作的RESTful API,配合注释详细说明在S

Spring Boot构建RESTful API与单元测试

全套教程:http://git.oschina.net/didispace/SpringBoot-Learning 首先,回顾并详细说明一下在快速入门中使用的@Controller.@RestController.@RequestMapping注解.如果您对Spring MVC不熟悉并且还没有尝试过快速入门案例,建议先看一下快速入门的内容. @Controller:修饰class,用来创建处理http请求的对象 @RestController:Spring4之后加入的注解,原来在@Control

【Spring学习笔记-MVC-18.1】Spring MVC实现RESTful风格-同一资源,多种展现:xml-json-html

概要 要实现Restful风格,主要有两个方面要讲解,如下: 1. 同一个资源,如果需要返回不同的形式,如:json.xml等: 不推荐的做法: /user/getUserJson /user/getUserXML 这样做不符合Restful的原则,1个资源相当于变成了两个资源: 2. 对同一资源的CRUD操作 不推荐的做法: /user/addUser/ /user/getUser/123 /user/deleteUser/123 /user/updateUser/123 这样做也不符合Res

Spring MVC 4 RESTFul Web Services CRUD例子(带源码)【这才是restful,超经典】

[本系列其他教程正在陆续翻译中,点击分类:spring 4 mvc 进行查看.源码下载地址在文章末尾.] [翻译 by 明明如月 QQ 605283073] 原文地址:http://websystique.com/springmvc/spring-mvc-4-restful-web-services-crud-example-resttemplate/ 上一篇: Spring 4 MVC @RestController 注解实现REST Service 下一篇:Spring MVC 4 文件上传

搭建基于spring MVC框架 + RESTful架构风格技术总结

实战篇: 在SpringMVC框架中搭建RESTful架构风格来完成客户端与服务器端的低耦合度.可扩展性.高并发与大数据流量的访问. 用RESTful架构的创建步骤: 1.创建一个全新的Web工程 2.导包,导入所需要的所有第三方jar包.(springMVC+Hibernate的基本包是必须的) 3.作配置,针对不同的项目需求和不同的搭建设计,开发人员可以按照自己的编码风格来设计符合项目开发具体 应该用多少篇配置文件.但是这几篇配置文件是必不可少的: 3-1.web.xml配置文件:最基本的配

使用Spring MVC编写RESTful Controller

1.Spring对REST的支持 Spring3(这里讨论Spring3.2+)对Spring MVC的一些增强功能为REST提供了良好的支持.Spring对开发REST资源提供以下支持: 操作方式:控制器可以处理所有的HTTP方法,包含4个主要的REST方法:GET.PUT.DELETE以及POST.Spring的表单绑定JSP标签库的<form:form>标签以及新的HiddenHttpMethodFilter,使得通过HTML表单提交的PUT和DELETE请求成为可能 资源标识:新的@P

三、Spring MVC之Restful风格的实现

先抛论点:我觉得Restful风格仅仅是一种风格,并不是什么高深的技术架构,而是一种编程的规范.在我们进行应用程序开发的过程中,我们可以发现,80%以上的操作都是增删查改式的操作,restful就是定义了CRUD的开发规范.下面把restful风格的url和传统风格的url进行一个对比. 业务操作 传统风格URL 传统请求方式 restful风格URL restful请求方式 新增 /add GET/POST /order POST 修改 /update?id=1 GET/POST /order