标签: restful-url

连字符,下划线或camelCase作为URI中的单词分隔符?

我正在为Intranet应用程序设计基于HTTP的API.我意识到这是一个非常小的问题,在宏观方案中,但是:我应该使用连字符,下划线或camelCase来分隔URI中的单词吗?


以下是我最初的想法:

骆驼香烟盒

  • 如果服务器不区分大小写,则可能出现问题
  • 似乎在查询字符串键(相当广泛使用http://api.example.comSEARCHQUERY = ...),而不是在其他URI部分

连字符号

  • 比其他替代品更美观
  • 似乎广泛用于URI的路径部分
  • 从未在野外见过带连字符的查询字符串键
  • 可能更适合SEO(这可能是一个神话)

下划线

  • 编程语言可能更容易处理
  • 几个流行的API(Facebook,Netflix,StackExchange等)在URI的所有部分都使用下划线.

对于一切我都倾向于下划线.大多数大型玩家使用它们的事实令人信服(参见/sf/answers/42592091/).

api rest url uri restful-url

428
推荐指数
7
解决办法
14万
查看次数

如何创建没有动词的REST URL?

我正在努力确定如何设计restful URL.我全都是为了使用带名词的URL的安静方法,而不是动词不明白如何做到这一点.

我们正在创建一个实施金融计算器的服务.计算器需要一堆参数,我们将通过CSV文件上传.用例包括:

  1. 上传新参数
  2. 获取最新参数
  3. 获取给定营业日期的参数
  4. 使一组参数处于活动状态
  5. 验证一组参数

我收集的其余方法是拥有以下类型的URL:

/parameters
/parameters/12-23-2009
Run Code Online (Sandbox Code Playgroud)

您可以通过以下方式实现前三个用例:

  1. 在post请求中包含参数文件的POST
  2. GET的第一个URL
  3. 获取第二个URL

但是,如果没有动词,你如何做第4和第5个用例?你不需要像以下网址:

/parameters/ID/activate
/parameters/ID/validate
Run Code Online (Sandbox Code Playgroud)

??

rest restful-url

280
推荐指数
5
解决办法
9万
查看次数

返回对象中项目总数的最佳RESTful方法是什么?

我正在为我参与的大型社交网站开发REST API服务.到目前为止,它的工作效果很好.我可以发出GET,POST,PUTDELETE请求对象的URL和影响我的数据.但是,此数据被分页(一次限制为30个结果).

但是,通过我的API获取发言人总数的最佳REST方式是什么?

目前,我向URL结构发出请求,如下所示:

  • / api / members-返回一个成员列表(如上所述,每次30个成员)
  • / api/members/1 -影响单个成员,具体取决于使用的请求方法

我的问题是:如何使用类似的URL结构来获取应用程序中的成员总数?显然id只需要返回30个结果就可以只请求该字段(类似于Facebook的图谱API)并计算结果是无效的.

rest restful-url

131
推荐指数
8
解决办法
10万
查看次数

RESTful设计/登录或/注册资源?

我正在设计一个Web应用程序,然后停下来考虑如何将我的api设计为RESTful Web服务.目前,我的大部分URI都是通用的,可能适用于各种网络应用:

GET  /logout   // destroys session and redirects to /
GET  /login    // gets the webpage that has the login form
POST /login    // authenticates credentials against database and either redirects home with a new session or redirects back to /login
GET  /register // gets the webpage that has the registration form
POST /register // records the entered information into database as a new /user/xxx
GET  /user/xxx // gets and renders current user data in a profile view
POST …
Run Code Online (Sandbox Code Playgroud)

api rest web-services http restful-url

109
推荐指数
5
解决办法
7万
查看次数

我何时在RESTful API中使用路径参数与查询参数?

我想让我的RESTful API非常可预测.决定何时使用URI而不是使用查询参数来分段数据的最佳做法是什么.

对我来说,支持分页,排序和分组的系统参数在'?'之后是有道理的.但是如果像'status'和'region'这样的字段或其他属性来分割你的收藏呢?如果那些也是查询参数,那么知道何时使用路径参数的经验法则是什么?

rest api-design spring-mvc restful-url restful-architecture

98
推荐指数
6
解决办法
6万
查看次数

如何在angularjs页面中从RESTful API访问服务?

我对angularJS很新.我正在寻找从RESTful API访问服务,但我没有任何想法.我怎样才能做到这一点?

rest restful-url angularjs angularjs-service

88
推荐指数
4
解决办法
13万
查看次数

在GET中传递数组以进行REST调用

我有一个网址来为这样的用户获取约会:

/user/:userId/appointments
Run Code Online (Sandbox Code Playgroud)

如果我想为多个用户预约,网址应该如何?

它应该是:

/appointments?users=1d1,1d2..
Run Code Online (Sandbox Code Playgroud)

谢谢,克里斯.

rest restful-url restful-architecture

51
推荐指数
4
解决办法
11万
查看次数

RESTful - DELETE响应主体应包含什么

假设我有一个API,您可以在其中获取用户:

GET /RESTAPI/user/
Run Code Online (Sandbox Code Playgroud)

您可以通过以下方式删除用户:

DELETE /RESTAPI/user/123
Run Code Online (Sandbox Code Playgroud)

关于DELETE的响应主体应该包含什么是RESTful约定?我希望它应该是所有用户的新列表,现在不再包含id为123的用户.

谷歌搜索没有给我任何令人满意的答案.我只发现了如何做到这一点的意见,但是没有RESTful服务的严格定义

这不是RESTful API POST/DELETE在正文中返回什么的重复什么REST PUT/POST/DELETE调用应由公约回报? 因为这个问题要求对DELETE有严格的定义.这些问题只能通过松散的意见来回答.

rest http restful-url

44
推荐指数
3
解决办法
3万
查看次数

RESTful POSTS,你将对象POST到单数或复数Uri吗?

这些URI中的哪一个更适合接收POST(添加产品)?是否有最佳实践或仅仅是个人偏好?

/ product /(singular)

要么

/ products /(复数)

目前我们/products/?query=blah用于搜索/product/{productId}/单个产品的GETs PUT和DELETE.

rest restful-url

40
推荐指数
2
解决办法
9287
查看次数

@PathParam和@PathVariable有什么区别

据我所知,两者都有同样的目的.除了@PathVariable来自Spring MVC并@PathParam来自JAX-RS 的事实.有什么见解吗?

jax-rs spring-mvc restful-url path-parameter

38
推荐指数
3
解决办法
6万
查看次数