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

REST API Best practices: Where to put parameters?

在上一篇博客中,包子为您解说了REST设计风格理论概念,相信有很多同学读完以后会有很多实际问题需要进一步探讨。在这里,包子为大家转载了一个比较热门最佳设计实践问题:如何设计REST风格URI?...从上篇文章里,我们知道URI是HTTP实现下REST资源ID。URI一般包含了指向资源路径,以及参数来指定请求获取特定资源状态。那么到底什么应该是属于URI路径一部分,而什么又该放入URI呢?...原文链接:http://stackoverflow.com/questions/4024271/rest-api-best-practices-where-to-put-parameters Question...from: Kalle Gustafsson A REST API can have parameters in at least two ways: As part of the URL-path.../api/resource/parametervalue ) As a query argument (i.e. /api/resource?

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

PUTPOST区别

下图是一个示例,修改宠物信息: 图片 POST 请求 POST 请求是 HTTP 协议中一种请求方法,通常用于创建新资源或提交数据服务器进行处理。...POST 请求一些特点: 可以创建新资源或提交数据服务器进行处理。 客户端可以只发送部分资源内容。 如果请求成功,服务器会返回一个表示新资源 URI。 POST 请求不具有幂等性。...下图是一个示例,新建一个宠物信息: 图片 PUTPOST 区别主要在以下几个方面: 语义不同:PUT 请求通常用于更新或替换服务器上资源,而 POST 请求通常用于创建新资源或提交数据服务器进行处理...使用场景不同:PUT 请求适用于更新完整资源,比如更新用户信息、文章内容等。而 POST 请求适用于提交数据服务器进行处理,比如创建新文章、提交表单等。...如果要更新整个资源,应该使用 PUT 请求;如果要创建新资源或提交数据服务器进行处理,应该使用 POST 请求。

90410

javaservlet处理四种常用api请求get,putpost,delete

一般在网站搭建中servlet只需处理post,get请求便足已。本篇注重使用javaweb编写restful风格api,在servlet中对四种常用请求进行处理。   ...在api中对于一个请求要做通常是提取header参数,提取携带数据(postput)。在这里已post为例来说明用法。   ...下面是发起post请求,用python(很简单)写,该请求既有自定义header参数Bearer,也有携带数据bodys里内容 import json import requests taken...bodys={'username':'test5','password':'123456'} url='http://localhost:8080/xiaoyanAPI' response=requests.post...(url,data=json.dumps(bodys),headers=headers) print response.text   下面是处理post请求代码 1 protected void doPost

2.2K20

浅谈Laravel POST,PUT,PATCH 路由区别

经常会混淆HTTPPOST/PUT方法,因为这两个方法似乎都可以用来创建或更新一个资源。...区别是细微但清楚POST方法用来创建一个子资源,如 /api/users,会在users下面创建一个user,如users/1 POST方法不是幂等,多次执行,将导致多条相同用户被创建(users...PATCH方法是新引入,是对PUT方法补充,用来对已知资源进行局部更新 GET 获取资源 POST 创建资源 PUT 编辑/更新资源(需提交完整资源字段) PATCH 编辑/更新资源(可以提交需要更新字段...) DELETE 删除资源 OPTIONS 服务器允许哪些请求谓词 这些就是最近比较流行RestFul模式常用,另HTML表单只支持POST、GET两种请求方式,PUT、PATCH以及DELETE是...以上这篇浅谈Laravel POST,PUT,PATCH 路由区别就是小编分享给大家全部内容了,希望能给大家一个参考。

1.6K41

用ASP.NET Core 2.0 建立规范 REST API -- GET 和 POST

html 本文介绍是使用ASP.NET Core建立Richardson成熟度为2级伪RESTful web API, 本文介绍是GET和POST....这里GET可以理解为获取(查询)资源, POST为添加资源, PUT为整体更新资源, PATCH为局部更新资源, DELETE为删除资源....GET,所以POST不被允许 406 - Not acceptable,这里涉及到了media type,例如API消费者请求是application/xml格式media type,而API只支持...这里可以看到Location Headeruri,通过这个uri,你就可以GET这个刚刚创建Country资源,这里我就不测试了。 如果再次执行这个POST操作,看看结果: ?...OK 如果POST单个资源地址 如果POST这个地址 http://localhost:5000/api/countries/{id},  那么, 如果该id资源不存在, 则应该返回404; 如果该

1.5K10

REST API 安全认证,从 OAuth 2.0 JWT 令牌

---- REST 是一种现代架构风格,它定义了一种设计 Web 服务新方法。...按照 REST 最佳实践开发服务被称为 “RESTful Web 服务”。 安全性是 RESTful 服务基石。启用它方法之一是尽可能内置用户身份验证和授权机制。...当用户输入用户名和密码后,系统会允许登录。但是,默认情况下,系统不知道用户角色和权限是什么,他们可以访问哪些服务等等。...刷新令牌也有它过期时间(虽然它比访问令牌长得多),如果一个用户一年没有进入系统,那么很可能会被要求再次输入用户名和密码。...OAuth 2.0 标准取代了基本身份验证方法,它具有一定优势,例如用户每次想要进入系统时不用输入用户名和密码。

2.7K30

撰写合格REST API

稍稍总结了些经验,在这篇文章里讲讲如何撰写「合格REST API。 RFC一致性 REST API一般用来将某种资源和允许对资源操作暴露给外界,使调用者能够以正确方式操作资源。...这里,在输入输出处理上,要符合HTTP/1.1(不久将来,要符合HTTP/2.0)RFC,保证接口一致性。这里主要讲输入method/headers和输出status code。...Methods HTTP协议提供了很多methods来操作数据: GET: 获取某个资源,GET操作应该是幂等(idempotence),且无副作用。 POST: 创建一个新资源。...PUT: 替换某个已有的资源。PUT操作虽然有副作用,但其应该是幂等。 PATCH(RFC5789): 修改某个已有的资源。 DELETE:删除某个资源。DELETE操作有副作用,但也是幂等。...如果自己手写REST API,一定要注意区分POST/PUT/PATCH/DELETE应用场景。

1.5K50

REST API和SOAP API之间区别

这是最常见请求,每次在浏览器中键入URL并单击return、选择书签或单击锚点引用链接时执行。 对于与RESTful API编程交互,可以使用十几种或更多客户端API或工具。...总是会有特定于应用程序行为,但是我们越能深入非特定于应用程序行为中,我们系统就会越有弹性、更容易访问和更容易维护。 POST 当客户端无法预测要创建资源标识时,将使用POST。...当我们雇佣员工、下订单、提交表单等时,我们无法预测服务器将如何命名我们创建资源。这就是为什么我们将资源表示发布给处理程序(例如servlet)。服务器将接受输入、验证它、验证用户凭据等。...短期来看,这似乎是值得,但随着时间推移,这些捷径会累积起来,。产生不好影响 PUT 客户端可以向已知URL发出PUT请求,作为将表示传递回服务器一种方式,以便执行覆盖操作。...这种区别允许PUT请求具有幂等性,而POST更新不是。

2K10

REST API和SOAP API之间区别

这是最常见请求,每次在浏览器中键入URL并单击return、选择书签或单击锚点引用链接时执行。 对于与RESTful API编程交互,可以使用十几种或更多客户端API或工具。...总是会有特定于应用程序行为,但是我们越能深入非特定于应用程序行为中,我们系统就会越有弹性、更容易访问和更容易维护。 POST 当客户端无法预测要创建资源标识时,将使用POST。...当我们雇佣员工、下订单、提交表单等时,我们无法预测服务器将如何命名我们创建资源。这就是为什么我们将资源表示发布给处理程序(例如servlet)。服务器将接受输入、验证它、验证用户凭据等。...短期来看,这似乎是值得,但随着时间推移,这些捷径会累积起来,。产生不好影响 PUT 客户端可以向已知URL发出PUT请求,作为将表示传递回服务器一种方式,以便执行覆盖操作。...这种区别允许PUT请求具有幂等性,而POST更新不是。

1.3K20

你确定你 REST API 真的符合 REST 规范?

RESTful API 背后思想是遵循REST 规范中描述所有架构规则和限制方式进行开发。然而,实际上,这在实践中基本上是不可能。 一方面,REST 包含了太多模糊和模棱两可定义。...REST API 规范能做什么? 尽管存在上面说到缺点,但使用合理方法,REST 仍然是创建真正优秀 api 一个绝佳选择。...因为你通过高质量 API 规范实现 api 将会是一致,具有清晰结构、良好文档和高单元测试覆盖率。 通常,REST API规范与其文档相关联。...catch 正确错误信息。...这将使使用你 API 开发人员感到轻松,并且肯定比手工填写 REST API 文档模板要好。

22320

Flink REST API 设计指南

Flink REST API 介绍Flink REST API 是 JobManager 提供 HTTP 接口,用户可以通过 GET、POSTREST 定义方法,请求获取作业、JobManager...非阻塞 Flink REST API 设计要点关于拓展 Flink REST API 方法,我们可以在 Flink 官网文档、各类技术社区文章中得到详细指引,因而这里不再赘述基础细节,而是更侧重于讲解遇到一些常见问题和解决方案...→ TaskManager → 用户定义 Task请求体、返回体设计通常对于接受 GET 方法 REST API 而言,可以直接使用 EmptyRequestBody 类作为请求体结构,方便快捷...但对于 POST 方法 API,我们通常需要实现 RequestBody 接口,来定义该 REST 接口请求体。...REST Handler 设计handler 是一个 REST API 接口执行者,我们可以通过实现 handleRequest 方法来定义请求处理逻辑。

1.4K20

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券