0 0

rest 传递参数的疑问10

rest URL到底可不可以传递参数。
按照"rest可以把网络上所有资源进行唯一的定位"的原则,url里应该不可以传递参数,如/users?page=1&perpage=10 和/users?page=2&perpage=5,这样同一个URI就无法定位到同样的资源了。

url设计成 /users/page/2/perpage/10,这样就可以有唯一的定位了。但是从资源的角度似乎又解释不通了,资源users下的第二页,每页显示10条,这个每页显示多少条,怎样从资源的角度来解释?

2011年12月06日 09:58

6个答案 按时间排序 按投票排序

0 0

那到未必我见过一个应用是一开始开10个,
如果滚屏时再发送一个再加10条的result请求
用js挂在list后面.

PS:这个weibo的实现方式

2011年12月07日 16:10
0 0

那是不是意味这采用RESTFUL的话,就必须固定页数大小!

2011年12月06日 18:40
0 0

如果你一页数量固定 就可以不传 单页数量。
如果你一页数据不固定,就会缓存很多重复数据。

使有Result的意义也就变小了。

2011年12月06日 10:52
0 0

跟REST没有关系
重点在于你想怎么去根据perpage确定唯一的URL
但是从个人角度来说,最好还是根据日期来定义这个URL会比较好

2011年12月06日 09:58
0 0

这个是可以的,REST的重点在于充分的利用了HTTP动词:GET、POST、PUT、DELETE这些,通过对一个URL发起不同动词的请求,来表达不同的操作。
比如,把一个用户看作一个资源,URL为/users/1,那么:
GET /users/1 => 获取用户信息
PUT /users/1 => 修改用户信息
DELETE /users/1 => 删除这个用户
至于你说的URL后边加参数,这个都应该是GET情况下使用的,就像楼上的说的,可以表明动态查询。
就拿你这个/users?page=1&perpage=10来说,GET /users获取的是“所有用户”这个资源,那么你加上参数,就是获取它的一部分,并没有对/users这个资源造成任何影响。
这是我对REST的一点理解。

2011年12月06日 09:58
0 0

可以阿,URI包括?后面的查询参数,而且查询参数还能表明这是动态查询产生的。

2011年12月06日 09:58

相关推荐

    rest 调用有参数接口

    当我们谈论"REST调用有参数接口"时,这意味着我们要通过HTTP请求来与服务器交互,传递参数以执行特定的操作。这篇博客文章《REST调用有参数接口》可能详细介绍了如何在Java环境中使用RESTful API进行有参数的请求。 ...

    ES6中的rest参数与扩展运算符详解

    在ES6中,rest参数和扩展运算符是两种强大的新特性,它们极大地改善了JavaScript处理函数参数和数组的方式。下面我们将深入探讨这两种特性。 **Rest参数** 是一个特殊的参数,用 `...` 符号后跟一个变量名来定义。...

    webservice cxf 服务端客户端传递参数的例子demo

    下面我们将深入探讨"webservice CXF 服务端客户端传递参数的例子demo"。 1. **CXF框架介绍** CXF是一个Java框架,它允许开发者通过简单的API来创建和使用Web服务。CXF支持多种Web服务标准,如WS-I Basic Profile、...

    kettle rest 接口 请求实例

    保存token的方法有很多种,可以将其写入到Kettle的变量或参数中,也可以存储在一个单独的文件中。当需要进行API调用时,Kettle作业或转换可以从这些位置读取并使用该token。为了保持安全性,应当确保存储token的地方...

    深入学习JavaScript中的Rest参数和参数默认值

    本文将讨论使 JavaScript 函数更有表现力的两个特性:Rest 参数和参数默认值。 Rest 参数 通常,我们需要创建一个可变参数的函数,可变参数是指函数可以接受任意数量的参数。例如,String.prototype.concat 可以接受...

    ArcGIS_REST_API常用参数简要说明.pdf

    ArcGIS REST API常用参数简要说明 ArcGIS REST API是一种基于 Representational State of Resource(REST)架构风格的应用程序接口,提供了大量的参数供开发者使用。这些参数可以控制输出地图的格式、大小、分辨率...

    JavaScript程序设计-ES之剩余参数rest参数.pdf

    在JavaScript程序设计中,ES(ECMAScript)的剩余参数(Rest Parameters)是一个非常重要的特性,它使得函数能够接受任意数量的参数,并将这些参数收集到一个数组中处理。这大大提高了代码的灵活性和可读性。在本篇...

    JavaScript程序设计ES之剩余参数rest参数共2

    在这个主题中,我们将深入探讨JavaScript程序设计中的一个关键概念——剩余参数(Rest Parameters),这是ES6引入的一项重要特性。 剩余参数允许我们在函数定义中使用三个点(...)来收集传入的任意数量的参数,...

    es6函数之rest参数用法实例分析

    在ES6(ECMAScript 2015)中,`rest`参数是一个非常重要的特性,它使得处理函数参数变得更加灵活和简洁。`rest`参数的语法格式为 `...变量名`,它允许我们将不定数量的参数作为一个数组来捕获。这种特性避免了之前...

    quartz3种调度形式+传参.zip

    本资料主要探讨了Quartz的三种调度形式以及在Spring框架中的整合,并涉及了参数传递的相关知识。 一、Quartz的三种调度形式 1. 单纯的Quartz调度 在不依赖任何框架的情况下,直接使用Quartz API进行任务调度。...

    Apache CXF + Spring3 + REST + JSON配置

    REST(Representational State Transfer)是一种网络应用程序的设计风格和开发方式,常用于构建现代Web服务。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析...

    xe10_rest调用发送信息两种参数方式

    本文将深入探讨使用Delphi中的`xe10_rest`组件进行RESTful API调用时的两种主要参数传递方式。 一、HTTP GET请求 在HTTP协议中,GET请求是最常见的一种,主要用于获取资源。在使用`xe10_rest`调用API时,如果参数...

    kettle抽取http请求,发送json参数.docx

    在这个步骤中,我们使用 REST Client 将json参数发送到目标系统中。 第六步:通过 jsonpath 获取 result 中的数据 在这个步骤中,我们使用jsonpath语法从http请求的结果中获取数据。 第七步:表输出 在这个步骤中...

    java rest api入门实例

    REST即表述性状态传递(英文:Representational State Transfer,简称REST)是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格。它是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,...

    什么是REST,符合REST的API叫RESTful 两种SOA接口实现:SOAP(WebService) vs REST

    例如,文件名`lj比起用问号方式传递参数,REST方式最方便之处在于--生成静态页面并缓存起来.txt`就提到了这一点。 SOA(Service-Oriented Architecture)是一种面向服务的架构风格,它将业务逻辑组织为一组可重用的...

    flowable-boot-rest_rest_flowableapi_flowableswagger_flowable_flo

    Swagger在这个项目中的作用是生成API文档,帮助开发者理解每个接口的用法、参数和响应格式。通过访问Swagger UI,开发者可以方便地浏览所有提供的REST API,并直接尝试调用,从而快速理解和使用Flowable REST服务。 ...

    REST实战(REST in Practice)

    ### REST实战(REST in Practice)知识点总结 #### 一、REST简介与背景 - **REST (Representational State Transfer)**:一种软件架构风格,用于描述基于网络的应用程序如何工作。REST的核心理念是通过简单的HTTP...

    探讨JavaScript中的Rest参数和参数默认值

    这个对象包含了所有传递给函数的参数,但它并不是一个真正的数组,而是一个类数组对象,因此在使用时需要做一些额外的处理。例如,我们可以使用Array.prototype.slice.call(arguments)将arguments对象转换为真正的...

Global site tag (gtag.js) - Google Analytics