首页
学习
活动
专区
圈层
工具
发布

后端开发必备的 RestFul API 知识

RestFul API 是每个程序员都应该了解并掌握的基本知识,我们在开发过程中设计API的时候也应该至少要满足RestFul API的最基本的要求(比如接口中尽量使用名词,使用POST 请求创建资源,...zoo_id=ID 的含义是相同的。复制代码 5、状态码(Status Codes) 状态码范围 1xx 信息,请求收到,继续处理。范围保留用于底层HTTP的东西,你很可能永远也用不到。...这些错误常常是从底层的函数抛出来的,甚至 开发人员也通常没法处理,发送这类状态码的目的以确保客户端获得某种响应。 当收到5xx响应时,客户端不可能知道服务器的状态,所以这类状态码是要尽可能的避免。...rel表示这个API与当前网址的关系(collection关系,并给出该collection的网址),href表示API的路径,title表示API的标题,type表示返回类型Hypermedia API...在Spring 中有一个叫做HATEOAS的API 库,通过它我们可以更轻松的创建除符合 HATEOAS 设计的API。

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

    再谈前后端API签名安全?

    上次《前后端API交互如何保证数据安全性?》文章中,我们介绍了如何在Spring Boot框架中去统一处理数据的加解密。...第一种方式 参数中加签名,前后端约定一个key,将参数按照字母排序拼接成一个字符串,然后拼接上key,最后用MD5或者SHA进行加密,最后得到一个加密的签名,作为参数传到后端进行验证。...比如: name=yinjihuan&sign=MD5(name=yinjihuan+key) 后端我们可以统一在过滤器中进行验证,取得参数sign的值,取得请求的所有参数,同时也按照前端生成sign的方式生成一个新的...同时因为我这边用的axios来请求数据,可以使用请求拦截器,在请求之前统一对请求进行签名操作,不用在每个地方单独去处理。...荐《Spring Boot + Vue前后端分离实战》 带你遨游前后端分离的海洋。

    1K40

    后端Api设计的一些注意项

    App所有数据都来源于服务器,App和服务器交互普遍是采用http请求接口的方式,那么在搭建和维护一个后端Api项目时候需要注意哪些问题呢? 1....但是对于向第三方开放的api接口情况就不太一样,它不存在密文传输的问题,大体思路也是使用secret进行签名认证,只是分发secret的方式不一样,它是通过合作的方式,api提供商会给使用方分发一个key...另外一种观点是,这样代码重复度太高,会有大量的action文件,一个功能只提供一个唯一的url,但是要带上一个表示版本的参数,在代码框架中只有一个action,对于新旧版本的细小差别可以使用参数默认值等兼容方式进行处理...,对于比较大的改动就通过逻辑判断语句进行不同处理即可。...尽可能把所有业务逻辑都放到服务端 很容易理解,服务端不用发版,服务端没有处理不了的问题,很简单一个例子:用户登录功能,会有"密码错误","还没有注册"等各种异常情况的提示。

    1K30

    批处理 API

    与直接使用标准端点相比,批处理 API 具有以下优点:更好的成本效益:与同步 API 相比,成本折扣 50%更高的速率限制:与同步 API 相比,拥有更大的余地快速完成时间:每个批次在 24 小时内完成...上传您的批处理输入文件与我们的微调 API 类似,您必须首先上传您的输入文件,以便在启动批处理时正确引用它。使用 Files API 上传您的 .jsonl 文件。...速率限制批处理 API 的速率限制与现有的每个模型的速率限制分开。...今天,批处理 API 没有输出令牌或提交请求数量的限制。...由于批处理 API 的速率限制是一个新的、独立的池,使用批处理 API 不会消耗您标准每个模型速率限制的令牌,从而为您提供一个方便的方法来增加您可以在查询我们的 API 时使用的请求和处理令牌的数量。

    63910

    WunderGraph:统一 API 组合的前后端框架

    其主要功能是将 API 调用映射到底层的 API 和服务,同时处理认证、缓存、聚合等任务。...高性能:作为高性能的 API 网关,WunderGraph 能够有效地处理 API 请求,提供快速的响应时间。...该平台需要整合多个后端服务,包括:产品信息服务(REST API)用户账户服务(GraphQL API)订单处理服务(数据库)支付网关(第三方 API)此外,平台需要支持用户认证、实时库存更新,以及多种支付方式...挑战在传统的开发模式下,前端需要与多个不同的后端服务进行交互,每个服务可能有不同的认证机制、数据格式和错误处理方式。这增加了前端开发的复杂性,降低了开发效率。...客户端集成:使用 WunderGraph 生成的客户端库,在前端应用中调用统一的 API,实现各项功能。效果通过这种方式,开发团队成功地:减少了前端与后端的集成复杂度:前端只需处理一个统一的 API。

    15100

    CTO,开发人员:如何评估外部API的质

    现在,为了改善您的服务,找到一个外部API变得越来越容易。越来越多的公司提供API。问题是许多开发人员/ CTO立即启动API集成,而这应该是最后一步!...如果没有正确记录错误代码,您如何可能集成外部API?那么唯一的解决方案就是让你一次又一次地进行测试,以便了解引擎盖后面的工作原理。逆向工程可能很有趣,但需要花费很多时间。...供应商的声誉 声誉可以帮助您了解将来是否会对您的API产生不良后果。...但要小心,API价格并不总是易于理解。您是否会因为无限量的请求而每月收费?按要求收费?如果是这样,您将被收取两次相同的请求(如果是浓缩API)或第二个请求是免费的吗?...实际上,QoS可能会随着时间的推移而变化很多,并且许多API提供2级QoS,具体取决于您使用的是免费版API还是您付费的...有时您也可以选择具有不同响应时间级别的不同订阅。

    78210

    后端API接口,优雅设计方法分享

    在移动互联网,分布式、微服务盛行的今天,现在项目绝大部分都采用的微服务框架,前后端分离方式(题外话:前后端的工作职责越来越明确,现在的前端都称之为大前端,技术栈以及生态圈都已经非常成熟) 一般系统的大致整体架构图如下...因为这篇主要介绍的是API接口,所以我们聚焦点,其他的模块小伙伴们自行去补充。...接口交互 前端和后端进行交互,前端按照约定请求URL路径,并传入相关参数,后端服务器接收请求,进行业务处理,返回数据给前端。...针对URL路径的restful风格,以及传入参数的公共请求头的要求(如:app_version,api_version,device等),这里就不介绍了,小伙伴们可以自行去了解,也比较简单。...这里我们只处理了正常成功的包装,如果方法体报异常怎么办?处理异常也比较简单,只要判断body是否为异常类。 怎么做全局的异常处理,篇幅原因,这里就不做介绍了,只要思路理清楚了,自行改造就行。

    23710

    细说API - 文档和前后端协作

    在上一篇文章——《细说API - 重新认识RESTful》中介绍了如何理解和设计RESTful风格的API,现在我们来聊聊如何有效的呈现API文档,以及前后端协作的方式。...API 文档的缺乏给前后端协作带来困难,在缺乏专门工具的情况下,编写和维护文档是一件工作量巨大的事,人工处理也非常容易出错。...使用契约进行前后端协作:在团队内部,前后端协作本质上需要的不是一份 API 文档,而是一个可以供前后端共同遵守的契约。...前后端可以一起制定一份契约,使用这份契约共同开发,前端使用这份契约 mock API,后端则可以通过它简单的验证API是否正确输出。...---- 基于契约的前后端协作 在过去的开发中,往往是后端开发者占主导,像上面的两种方案中,直接注释、反射通过生成 API 文档。 但前后端分离后让合作方式发生了变化。

    1.5K30

    网关怎么发送api到后端 前后端如何交互作用?

    而后端指的是数据库以及服务器等等客户看不到的内容。众所周知,网关api是一个连接前端和后端的有效工具,那么网关怎么发送api到后端呢? 网关怎么发送api到后端? 来看一看网关怎么发送api到后端。...api网关是一个统一的访问入口,用户可以通过api网关直接到达自己所需要的微服务不同板块和模块当中。...前后端如何交互作用? 上面了解了网关怎么发送api到后端,那么网络和应用的前后端是如何交互作用的? api网关是连接前端后端的一个桥梁。...而后端往往是信息的储存库, api网关的作用就是控制和监控前端访问,必要的时候还可以限制某些模块的使用,从而保障整体微服务线路的通畅。...以上就是网关怎么发送api到后端的相关内容,由此可见网关系统对于应用的前后端作用也是非常大的,也正是因为这样越来越多的企业应用搭建设置了api网关。

    57320

    为什么前后端分离项目更爱反向代理后端api?

    在前后端分离的项目中,很多开发者选择通过反向代理将前端和后端接口统一到一个域名下,而不是为后端接口使用一个新域名,主要是出于以下几个原因:1....解决跨域问题跨域是浏览器的同源策略限制的问题,如果前端和后端使用不同域名(或端口),在开发过程中可能会遇到跨域请求的限制。...隐藏后端服务细节通过反向代理,可以隐藏后端服务的实际域名或 IP,避免暴露真实的后端地址,增加一定的安全性。此外,这样的方式也可以屏蔽后端的技术栈和架构实现细节。5....反向代理 vs 新域名方式优点缺点反向代理同一域名简化跨域问题、统一流量、易于管理、隐藏后端细节需要配置反代服务,增加后端负载使用新域名后端独立、清晰的接口区分,可以避免代理服务的额外消耗跨域配置复杂、...除非有特殊需求(如大规模的微服务系统),否则不建议直接为后端使用单独的新域名。

    15000

    如何处理变慢的API?

    如果其中一个连接到这些操作的API需要花很长时间,那么我们可能会遇到,如果处理不当视图就会混乱的情况。...但是,当您构建v1时,您可能不认为在开发UI时需要这种处理,因为当您开发它时,所有的API都会立即返回。您可能没有预料到API会在某些场景中或随着时间的推移而减慢。...所以你维护的“全局”状态越少越好。它不仅有助于保持代码简单和模块化,而且还为您提供更多自由去提高并发性。 在这种情况下,一种更好的方法是,不要处理来自慢速API的响应,而是简单地停止接收来自它的响应。...我不是在这里讨论它是好是坏,或者它是否是最好的方法,但是我发现用RxJS处理这些类型的情况是很方便的。...如果你的代码路径结合许多过滤器和选择器为用户操作服务,那么这一点尤为重要。 始终考虑大局–用户如何与您的代码交互,进而影响你正在使用的API?退一步,思考会出什么错,从源头处理这些情况。

    1.9K70

    拿来即用:实现token验证的后端api接口框架

    以便分别做相应的处理 token.private-key=hello-daijiyong #token25分钟后自动刷新 token.expires.young=2500000 #token30分钟后过期.../wechat/token/getToken", "/api/test/**"}; /** * 给除了 excludePathPatters 配置的接口都配置拦截器,拦截转向到 authHandlerInterceptor...并做相应的处理 @Slf4j @RestControllerAdvice public class RestExceptionHandler { /** * 默认全局异常处理。...fail") public void fail() { throw new RuntimeException("异常测试"); } } ## 统一接口返回实体封装 传统的处理方式我们需要定义一个如下的实体类...tokenVo); return new TokenDataDto(tokenVo); } } 通过@RestControllerAdvice注解捕捉所有接口返回结果 并对返回结果进行统一的封装处理

    1.2K20
    领券