首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

赏心悦目的RESTful API这样来设计!

,前端人员经常会询问下一步业务流程接口定义在哪里,对接形式是什么 以上只是前后端人员通过接口交互一小部分问题,这些问题就好比"牙痛",不致命,但是整个软件开发生命周期内,天天"牙痛”是很要命...名词 名词就是表示一个资源或者服务,如 /users,/teachers,这里看到我用名词复数形式描述某一资源,至于用单数还是复数每个人都有自己见解,在这里推荐使用复数,因为现实世界,资源多数是以集合形式存在...sort=score_desc 按照学生分数降序进行排序 上述所有的方式我们都可以做到"望 URL 知意",这就是好设计 返回结果 RESTful API 返回结果也是设计环节重要一环 响应数据格式...这种方法叫做 HATEOAS , 举个例子,列表数据通常会有查看操作,这样我们返回列表数据时候同样返回如何操作查看具体数据详情 API 接口: { "status": "-1", "result...欢迎交流你们团队是如何设计 RESTful API ,遇到了哪些问题,是如何解决规范 - END -

1.4K10

如何设计好RESTful API

,前端人员经常会询问下一步业务流程接口定义在哪里,对接形式是什么 以上只是前后端人员通过接口交互一小部分问题,这些问题就好比"牙痛",不致命,但是整个软件开发生命周期内,天天"牙痛”是很要命...名词 名词就是表示一个资源或者服务,如 /users,/teachers,这里看到我用名词复数形式描述某一资源,至于用单数还是复数每个人都有自己见解,在这里推荐使用复数,因为现实世界,资源多数是以集合形式存在...sort=score_desc 按照学生分数降序进行排序 上述所有的方式我们都可以做到"望 URL 知意",这就是好设计 返回结果 RESTful API 返回结果也是设计环节重要一环 响应数据格式...这种方法叫做 HATEOAS , 举个例子,列表数据通常会有查看操作,这样我们返回列表数据时候同样返回如何操作查看具体数据详情 API 接口: { "status": "-1",...欢迎交流你们团队是如何设计 RESTful API ,遇到了哪些问题,是如何解决规范

1.6K20
您找到你想要的搜索结果了吗?
是的
没有找到

Fiddler实战

2 含义是:请求起始时间,响应结束时间,等待时间,握手时间,路由时间,TCP/IP传输时间。 3 含义是:http状态码统计。 4 含义是:返回各种类型数据大小统计以及拼图展现。...含义是:只显示下面文本框指定域名数据流,如下所示: 如上访问是淘宝网,那么只会显示对a.tbcdn.cng.alicdn.cn数据流;如上所示: 注意:文本框不会自动通过通配符匹配子域名...正在运行应用进程Fiddler相同主机时,Fiddler才能判断出是那个进程发出哪个请求; 下拉框 Show only traffic from列表包含了系统当前正在运行所有进程,如下所示...fiddler来截取,自己自定义返回json数据,我们可以自定义返回数据,如下所示,是修改返回内容如下所示: 当我们点击Run to Completion按钮后,浏览器端可以响应数据,接着如下...响应类型大小 通过如上选项,我们可以控制Web sessions列表显示那些类型响应,并堵塞符合某些条件响应

2K10

5个REST API安全准则

必须确保传入HTTP方法对于会话令牌/API密钥相关资源集合,操作和记录都是有效。 例如,如果您有一个RESTful API库,不允许匿名用户删除书目录条目,但他们可以获得书目录条目。...(2)JSON编码 JSON编码器一个关键问题是阻止浏览器执行任意JavaScript远程代码...或者,如果您在服务器上使用node.js。...使用正确JSON序列化程序来正确编码用户提供数据,以防止浏览器上执行用户提供输入,这一点至关重要。...这确保发送到浏览器XML内容是可解析,并且不包含XML注入。 4 - 加密 (1)传输数据 除非公共信息是完全只读,否则应强制使用TLS,特别是执行凭证更新、删除任何事务操作时。...403“禁止”真正含义未经授权,“明白您凭据,但很抱歉,你是不允许!” 概要 在这篇文章,介绍了5个RESTful API安全问题如何解决这些问题指南。

3.7K10

REST 深度进阶

使用 JSON 数据 别误解,这是习惯,不是 REST 。 REST 并没有规定使用什么样格式来传递数据,XML 也行,JSON 也行。但是团队JSON 传递数据是一个硬性要求。...注意语义 团队开发 API 时,有一个严格要求,就是 API 名称需要有语义感。语义感这个词是自己生造,不是什么高大上东西,就是要求写 API 名称能使用正确英文次序,能够让人看得懂。...在我看来,所有的 API 都应该可以不看注释说明情况下被调用方理解,从调用端点,到参数, JSON 键。 这儿,参考了国外一些规则。规则也很简单: 用名词,别用动词。...保持响应一致 一致性是好 API 优秀品质。开发,我们应该在各种方面做到一致,包括命名、URI、请求、响应等。而在这里面,响应一致性是对团人一个硬性要求。 API 是要让别人去调用。...另一个影响性能因素是 API 发送到调用端数据量。要做到确保 API 只返回调用端需要数据,而不是全部。如果可能,不要每次都返回完整模型细节关系。试一下,但要与响应返回模型保持一致。

46810

一起学Elasticsearch系列-索引批量操作

它可以通过一次请求同时处理多个操作,提高数据写入效率。 bulk API,请求是通过一行一行JSON数据进行定义。每个操作(索引、删除、更新)都需要按照特定格式写在一行。...示例: {操作描述符} {JSON数据} {操作描述符} {JSON数据} ... 注意以下几点: 请求数据每一行都必须是有效JSON格式,且不能有多余空格或换行符。...一个bulk请求,可以包含任意数量操作。 bulk请求可以一次性执行多个操作,提高效率,但也会增加单个请求复杂性长度。 下面是bulk API请求示例、响应示例以及一些常用参数含义。... Elasticsearch ,filter_path参数用于过滤返回响应内容,可以用于减小 Elasticsearch 返回数据量。...items.*.error 这个路径表示,返回响应,匹配到所有存在 error 字段 items。

38510

使用OllamaLlama 2设置运行本地LLM

英国电信公司工作,并担任顾问,帮助团队以更敏捷方式工作。他写过一本关于 UI 设计书,自那以后一直撰写技术文章... 假设你机器有足够空间内存,这样做理由是什么?...除了不必支付他人服务器运行成本外,你还可以不担心安全问题情况下运行对私有数据查询。 为此,使用是 Ollama。这是“一个允许你本地机器上运行开源大型语言模型 (LLM) 工具”。...它们可以访问完整开源模型列表,这些模型具有不同专业化特点 —— 比如双语模型、紧凑型模型或代码生成模型。这起初是一个基于 Mac 工具,但现在也可以 Windows 上进行预览。...方便控制台很好用,但我想使用可用 API。Ollama 将自己设置为本地服务器,端口为 11434。我们可以通过一个快速 curl 命令来检查 API 是否响应。...虽然开源 LLM 目前仍处于不断变化状态,特别是训练数据偏见等问题上,但解决方案成熟度显然提高,给人们带来了对未来能力考虑条件下合理希望。

56920

Python每日一练(21)-抓取异步数据

基本原理 AJAX 实现分为3步: 发送请求(通常是指HTTP请求) 解析响应(通常是指JSON格式数据) 渲染页面(通常是指将JSON格式数据显示Web页面的某些元素上)。...通常在这个回调函数利用服务端返回数据渲染页面。 2.2 解析响应 这里响应数据主要是指 JSON 格式数据。...分析到这里,读者可以获得以下经验:如果数据没有 Response 选项卡,那么很可能是通过异步方式获取数据,然后再利用 JavaScript 将数据显示页面上。...从上面很明显可以看出获取数据路由名字,右侧Preview 选项卡显示了 data 返回数据,很显然,这是 JSON 格式数据,其实现在已经完成了任务,找到了异步访问 URL,并且了解了返回数据格式...如果我们可以批量获取多家企业 id 后,就可以将 id URL 形成一个完整详情页对应详情数据 AJAX 请求 URL。

2.7K20

技术专题:API资产识别大揭秘(一)

location=city123指定需要“city123”参数当前天气数据端点。并且API 可能会以结构化格式(例如 JSON响应数据,其中包含温度、湿度其他天气相关信息。...传统 API 拿到是前后端约定好数据格式,GraphQL 对 API 数据提供了一套易于理解完整描述,客户端能够准确地获得它需要数据,没有任何冗余,也让 API 更容易地随着时间推移而演进...获取过滤后流量后,将根据协议类型如HTTP、Dubbo、GRPC等协议类型进行完整包解析,对于复杂参数结构,如JSON、XML各种复杂编码,则使用各种解析引擎进行解析。...统一返回数据格式:常用返回数据格式有 JSON XML。请求和响应数据格式统一。...query { user { id }}GraphQL API请求通常会采用JSON格式,而其特定类似JSON数据格式会嵌套在对应参数当中,例如下面的”query“参数值就嵌套了整个查询数据结构

58520

Django中方便快捷json响应

目前流行前后端分离开发模式,前端工程师需要根据后端开发人员给出API文档发起不同请求得到数据API文档规定了一些请求模板以及响应数据格式代码。...通常,前后端约定一些代码以代表一定含义响应在这里,分享一个作者开发过程中经常使用一些技巧。...(kwargs) return JsonResponse(json_dict) 在这里,通过定义result函数,封装一些常用响应字段,例如响应代码,信息,数据,可供前端使用。...:param data: 传给前端数据,字典类型 :return: Json响应 ''' return result(code=Code.params_error,message...6视图中响应使用响应函数 #首先导入 from utils import json_status #创建一个视图函数 def index(request): id = int(request.GET.get

85110

【WEB开发】Django中方便快捷json响应

目前流行前后端分离开发模式,前端工程师需要根据后端开发人员给出API文档发起不同请求得到数据API文档规定了一些请求模板以及响应数据格式代码。...通常,前后端约定一些代码以代表一定含义响应在这里,分享一个作者开发过程中经常使用一些技巧。...(kwargs) return JsonResponse(json_dict) 在这里,通过定义result函数,封装一些常用响应字段,例如响应代码,信息,数据,可供前端使用。...:param data: 传给前端数据,字典类型 :return: Json响应 ''' return result(code=Code.params_error,message...6视图中响应使用响应函数 #首先导入 from utils import json_status #创建一个视图函数 def index(request): id = int(request.GET.get

79900

第二章:Swagger2

背景介绍 团队开发,一个好 API 文档不但可以减少大量沟通成本,还可以帮助一位新人快速上手业务。...; 什么是Swagger2 Swagger2 是一个规范完整框架,用于生成、描述、调用可视化Restful风格web服务,现在我们使用spring boot 整合它。...@ApiModelProperty 添加操作模型属性数据。 @ApiOperation 描述针对特定路径操作或通常是 HTTP 方法。 @ApiParam 为操作参数添加额外数据。...接收请求参数类型例如:"application/json, application/xml" hidden 是否文档显示 notes 注释说明 response 返回对象 responseContainer...标注Swagger参数信息,因为在这里输入参数是实体对象,而在实体对象已经使用@ApiModel@ApiModelProperty注解进行了标识。

25830

如何在纯 JavaScript 中使用 GraphQL

本教程,我们将介绍 StepZen 上创建一个简单 Scooby DooAPI,它用来连接到一个 MySQL 数据源(StepZen 现在处于私有 alpha 状态,但是你可以在此处请求访问...(json.data); } getData(1); 本例传递 ID 值为 1,它返回是 Scooby Doo,这不是什么巧合: { character: { isMonster: false...不过 API 完全开放情况下,我们先来看一下它是如何完成(请注意,示例确实有一个 API 密钥,但请按照那样做,不要像在演示那样对付一下……)。...以下示例调用了 Scooby API 来获取一个 monster 列表和它们所出现剧集列表(抱歉,Scooby 粉丝们,现在只统计了第 1 季少数 monster)。...html> 运行以上代码结果是 JSON 响应,其中包含浏览器显示角色剧集数据

3.5K10

MyBatis+Spring MVC开发指南(四)前言Spring、Spring MVC、MyBatis整合思路分析分析:Controller到底该如何写?Spring MVC如何进行异常处理?JSO

(使用@Validated,并在处理器适配器上进行配置) 对于形参列表,哪些有着特殊含义?...(要么是返回逻辑视图,可以ModelAndView指定,也可以通过返回String指明逻辑视图;要么是返回响应数据,比如通过AJAX请求JSON数据。) 如何实现重定向呢?...Java对象转化成JSON予以客户端响应实际开发,用最多就是把Java对象转成JSON返回给客户端。...无非就是往response写了点JSON数据,并告诉浏览器给你JSON数据类型喔(application/json),仅此而已!...拦截器,我们可以通过request获取URL,获取Session用户数据,还可以设置跳转地址等。

61920

使用Mitmproxy分析接口

下面以汽车之家应用为例,看看如何通过分析得到品牌车系车型数据: Brand 开启 Mitmproxy,手机 WIFI 配置好代理,打开 APP,就可以抓了: Autohome 结果能看到多次针对.../comm.app.autohome.com.cn/comm_v1.0.0/ashx/brand-pm1-ts636195739525494900.json 终于出结果了,但是品牌列表却是空,看看具体响应...: Brand Response 因为看上去请求里 ts 参数响应 timestamp 结果数值是一样了,所以猜测汽车之家在这里自己实现了一套类似 304 Not Modified 逻辑(不明白为什么不直接使用...HTTP 现成机制),于是调低了 ts 参数值,再次请求,终于有结果了: API 如此我们就拿到了汽车之家完整品牌数据,照猫画虎也拿到了车系车型数据,以我最爱丰田普拉多为例,其汽车之家对应车系车型接口分别是...: /comm_v1.0.0/ashx/series-pm2-b3-t8.json /comm_v1.0.0/ashx/spec-pm2-ss46-t8.json 本文实验结果是以汽车之家 7.7.0

60520

SpringBoot整合Swagger2

背景介绍 ---- 团队开发,一个好 API 文档不但可以减少大量沟通成本,还可以帮助一位新人快速上手业务。...什么是Swagger2 ---- Swagger2 是一个规范完整框架,用于生成、描述、调用可视化Restful风格web服务,现在我们使用spring boot 整合它。...@ApiModelProperty 添加操作模型属性数据。 @ApiOperation 描述针对特定路径操作或通常是 HTTP 方法。 @ApiParam 为操作参数添加额外数据。...接收请求参数类型例如:"application/json, application/xml" hidden 是否文档显示 notes 注释说明 response 返回对象 responseContainer...@ApiImplicitParam标注Swagger参数信息,因为在这里输入参数是实体对象,而在实体对象已经使用@ApiModel@ApiModelProperty注解进行了标识。

22930

用于从 JSON 响应中提取单个值 Python 程序

本文将介绍可用于从 JSON 响应中提取单个值各种方法。开始值提取之前,让我们重点了解 JSON 响应含义。 什么是 JSON 响应?...使用 APIJSON 响应中提取值 在这种方法,我们将使用 API 端点从服务器检索数据。首先,我们将导入“请求”库来处理 HTTP 请求。...JSON 对象json()”方法帮助下转换为字典。然后解析这些词典以选择特定信息。 在这里,我们将通过访问嵌套对象来提取 BPI 值。字典键引用某些属性属性,其值引用不同数据类型。...我们将首先创建一个 JSON 文件,然后导入 JSON 模块,用于从“JASON 响应解码检索到数据。 这种方法类似于文件处理概念,其中我们加载 JSON 文件,然后特定模式下打开它。...结论 本文过程,我们介绍了价值提取基础知识,并了解了其重要性。我们还讨论了“JSON 响应机制以及如何从中提取单个值。在这 1圣方法,我们使用 API 端点从服务器检索数据

16220

精讲响应式WebClient第2篇-GET请求阻塞与非阻塞调用方法详解

本文是精讲响应式WebClient第2篇,前篇blog访问地址如下: 精讲响应式webclient第1篇-响应式非阻塞IO与基础用法 在上一篇文章为大家介绍了响应式IO模型WebClient基本用法...,Mono英文是单声道、单体意思,用于接收单个对象 通过浏览器访问 "http://jsonplaceholder.typicode.com/posts/1" 得到JSON响应结果,和我们通过程序打印出响应结果数据内容一致...JSON数组方式请求结果如图(一共100条截图截取3条记录): ?...Flux英文含义:流动,用于接收集合元素响应结果。...三、exchange()获取HTTP响应完整内容 上文中retrieve()只能获取HTTP报文中Body,也就是响应体。

2.7K21

13 个设计 REST API 最佳实践

不要返回纯文本 虽然返回 JSON 数据格式数据不是 REST 架构规范强制限定,但大多 REST API 都遵循这条准则。...响应返回错误详情 当 API 服务器处理错误时,如果能够返回 JSON body 包含错误信息,对于接口调用者来说,会一定程度上帮助他们完成调试。...当然可以,不过让讲一个故事: 曾经使用过一个 API,对于它返回所有响应状态码均是 200 OK,同时通过响应数据 status 字段来表示当前请求是否成功,比如: {...正因为这样,不得不在检查响应状态码正确同时,还需校验这个具有特殊含义 status 字段值,才可以放心处理响应返回 data。...,几乎崩溃了,因为根本不知道哪里做错了,直到我发现服务器之所以报 500 错误,是因为粗心丢掉了尾部斜杠(注:这种经历人人都会遇到, SF 上遇过无数次类似的问题),当我把 URI 改成:

3.5K20
领券