Restful API的流行,很大程度上被当前的移动互联网所影响,在10年前,那个时候的网络应用程序,在跨系统的时候,很多时候采用的是WebService来实现,在当下,Restful的设计已经比交深入人心!特别是你的系统需要对外提供数据或者一些服务的时候,这里的对外,可以是 手机端(比如APP),也可以是PAD,桌面程序,也可以是网络上的一台需要服务的服务器等等 ,这个时候就可以采用Restful 的设计
通常Resutful API 一般走HTTP 协议,为了更安全,我们会加上SSL,也就是 HTTPS ,比如
写道
https://www.resutful.com/api/names or http://www.resutful.com/api/names
目前我们的写法是讲API作为我们系统功能的一部分,这种做法没有和 系统剥离,如果条件允许的话,尽量做到API 的域名独立
写道
http://api.restful.com/v1
这里 有一个版本的参数,其实在设计API的实现,很多时候需要兼容底下的版本,所以需要标明版本号
写道
http://api.restful.com/v1/lings
一个对外的地址通常代表一种资源,一般用名词复数。当其他人调用我们的API的时候,我们内部会有相应的动作,这些动作,主要是HTTP协议支持的一些动作 ,主要有下面几个
- GET(SELECT):从服务器取出资源(一项或多项)。
- POST(CREATE):在服务器新建一个资源。
- PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。
- PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性)。
- DELETE(DELETE):从服务器删除资源。
一般在动作后面需要参数,比如ID这样的:
写道
http://api.restful.com/v1/lings/delete?id=1
Server动作执行完以后,我们需要返回结果,当然了,HTTP协议的状态码表示 请求的结果,这个还是要熟悉的,这个浏览器一般都能够监控渠道这个值 一些常用的状态码:
- 200 OK - [GET]:服务器成功返回用户请求的数据,该操作是幂等的(Idempotent)。
- 201 CREATED - [POST/PUT/PATCH]:用户新建或修改数据成功。
- 202 Accepted - [*]:表示一个请求已经进入后台排队(异步任务)
- 204 NO CONTENT - [DELETE]:用户删除数据成功。
- 400 INVALID REQUEST - [POST/PUT/PATCH]:用户发出的请求有错误,服务器没有进行新建或修改数据的操作,该操作是幂等的。
- 401 Unauthorized - [*]:表示用户没有权限(令牌、用户名、密码错误)。
- 403 Forbidden - [*] 表示用户得到授权(与401错误相对),但是访问是被禁止的。
- 404 NOT FOUND - [*]:用户发出的请求针对的是不存在的记录,服务器没有进行操作,该操作是幂等的。
- 406 Not Acceptable - [GET]:用户请求的格式不可得(比如用户请求JSON格式,但是只有XML格式)。
- 410 Gone -[GET]:用户请求的资源被永久删除,且不会再得到的。
- 422 Unprocesable entity - [POST/PUT/PATCH] 当创建一个对象时,发生一个验证错误。
- 500 INTERNAL SERVER ERROR - [*]:服务器发生错误,用户将无法判断发出的请求是否成功
Restful的API,一般流行返回JSON对象,客户端也比交方便解析,尽量不用返回XML,这样比交麻烦 ,除非不得已为之!
相关推荐
### RESTful API设计规范详解 #### 一、RESTful简介 RESTful是一种广泛应用于Web服务的设计风格,全称为Representational State Transfer(表述性状态转移)。它并非一项具体的技术标准,而是一系列设计原则和约束...
以下是对RESTful API设计核心概念的详细解释: 1. **资源**:在RESTful API中,资源是系统中的核心实体,例如“tickets”或“messages”。资源通过唯一的URI(统一资源标识符)进行定位,使得客户端可以通过HTTP...
RESTfulAPI设计:RESTfulAPI设计基础.docx
描述:本实验使用SpringBoot、Mybatis和CXF框架来实现Restful API和WebService API接口的大实验,涵盖了数据库设计、 Maven依赖管理、Restful API和WebService API的实现等方面。 标签:spring boot、mybatis、...
RESTfulAPI设计:RESTfulAPI安全性设计.docx
RESTful API 设计的核心理念在于其简洁性和直观性,通过定义一组简单的规则,使得开发人员能够快速地理解和使用这些接口。 #### 二、RESTful API 动词与方法 RESTful API 中最基础的概念之一是HTTP动词,它们代表...
在当今的软件开发领域,RESTful API设计已成为构建可扩展、易于维护的Web服务的关键。C#作为一种强大的编程语言,结合ASP.NET Core框架,为设计和实现RESTful API提供了强大的支持。本文将探讨C#中RESTful API设计的...
以上就是关于RESTful API的基本知识点,结合提供的"RestFul API.pptx"和"TEST.zip"文件,你可以深入学习具体的案例,了解如何设计和实现一个RESTful API。实践中,我们通常会用到如Spring Boot这样的框架来快速构建...
RestfulApi服务端是现代Web应用开发中常用的一种设计风格,它基于HTTP协议,通过不同的HTTP方法(GET、POST、PUT、DELETE等)来实现资源的获取、创建、更新和删除操作,使得API接口更加清晰、简洁且易于理解。...
### RESTful API 设计最佳实践 #### 一、引言 随着互联网技术的发展,Web 应用变得越来越复杂,为了支持这些应用的功能扩展和服务交互,API 的设计变得尤为重要。RESTful API 是一种基于 HTTP 协议的应用程序编程...
本文将深入探讨如何使用C和C++来实现HTTP服务,并开发RESTful API服务器。 首先,HTTP(超文本传输协议)是互联网上应用最为广泛的一种网络协议,用于从万维网服务器传输超文本到本地浏览器。它是一个基于请求与...
### RESTful-API设计原则与规范 #### 一、背景与基础概念 RESTful架构作为一种流行的互联网软件架构,因其结构清晰、符合标准、易于理解和扩展等特点而受到广泛青睐。REST(Representational State Transfer)的...
RESTful API设计遵循以下原则: 1. **资源导向**:每个URL代表一个资源。 2. **无状态**:每次请求包含处理所需的所有信息,服务器不保存任何客户端状态。 3. **缓存**:允许客户端缓存响应以提高性能。 4. **统一...
基于 RESTful 架构的 API 设计原则和规范 RESTful 架构是目前最流行的一种互联网软件架构,它结构清晰、符合标准、易于理解、扩展方便,基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。因此...
本文将详细介绍如何在C#中设计和实现RESTful API,包括关键概念、设计原则、以及实际编码示例。 RESTful API在现代Web开发中扮演着核心角色。通过遵循REST原则和最佳实践,你可以设计和实现强大、灵活且易于维护的...
在当今信息技术飞速发展的时代,RESTful ...掌握这些知识点对于设计和实现一个健壮、安全且易于使用的RESTful API至关重要。此外,通过实践经验和持续学习,开发者可以不断提升在Python环境下开发RESTful API的能力。
本文将深入探讨RESTful API设计的基础知识,包括其核心概念、原则和最佳实践。 REST(Representational State Transfer,表现层状态转移)是一种架构风格,源于Web的原始设计原则,由Roy Fielding在他的博士论文中...