有人知道一个包含(HATEOAS)约束的REST客户机的实现吗
从它的文档记录方式以及Ruby、Java和Python实现的效果来看,它似乎是一个很好的候选者。但到目前为止我还没有找到代码的踪迹
我在寻找任何东西-即使是部分实现也会有帮助。HATEOAS设计原则(REST也是一组设计原则)意味着每个资源最多应该有一个固定URL
通过“超媒体”链接,可以从该URL动态发现其他相关内容
我刚刚创建了一个wikipedia存根是一个Ruby、Java和C#框架,旨在构建使用HATEOAS的客户端和服务
使用ReST/Sphinx为RESTful Web服务标记方法/URL的最佳方式是什么?是否有一个默认域适合标记URL及其可能的参数、HTTP方法、标题和正文内容
大致如下:
.. rest:method:: GET /api/foo
:param bar: A valid bar
:extension: json or xml
Retrieve foos for the given parameters. E.g.::
GET /api/foo.json?b
我正在开发一个新的REST-ful API,它的主要/唯一消费者将是一个智能/非web浏览器客户端。我有一个由后台进程而不是客户端本身维护/更新的集合资源。第一次迭代所需的唯一内容类型是JSON。URI类似于:
/items/-表示项目集合的资源
/items/123-表示ID为123的单个项目的资源
尽管客户端不会创建新项,也不会更新集合以添加/删除项,但它会更新单个项中的一些值。我的计划是使用HTTP补丁来更新项目资源,使用我自己的JSON补丁格式
将有许多并发客户机读取项目,并对不同的
一段时间前,我开发了一个web应用程序来授权我们的软件。这包括客户、帐户、用户和许可证。许可证分配给用户并使用序列号激活。许可证是作为处理采购订单的输出而创建的,即没有任何直接的方式发布新的许可证
目前我正在阅读“RESTfulWeb服务”,并考虑如何使其成为RESTful(HATEOAS也是)
我对大多数URL都很清楚,但在许可证上还需要一些有趣的操作。许可证的基本URL将是/license/{licenseid}
向用户分配可用许可证(由支持人员完成)
从用户处释放许可证(将其放回可用许可
我有一个基于Jersey的RESTWeb应用程序,运行在OSGi容器Geronimo3中。该服务使用Json POST数据返回结果,并且能够将Json输出封送到java对象。我已经编写了一个REST客户机,它在主方法返回响应对象时也可以正常工作。
但是,有一种情况下,Rest客户端失败——从OSGi web应用程序中的Bundle Activator类调用。在这种情况下,它给出了以下错误。
另外,当web应用程序完全初始化时,Rest客户机在请求范围内工作正常。我怀疑类加载器存在一些问题,因为O
为什么如果使用JSON文件foo.JSON,我的代码可以工作,但是如果我将URL更改为something.com/foo.JSON,它就不能工作
这在我的项目中起作用:
var store = Ext.create('Ext.data.Store', {
model: 'Client',
autoLoad: true,
autoSync: true,
proxy: {
type: 'rest',
此处URL中的用户名john与请求正文中的Tim不匹配
我是否应该确保这些名称不会不匹配?
我是否应该在请求正文中请求用户名?
这方面的一般做法是什么?这是一个普遍的问题吗
PUT user/john
{
name: Tim
age: 22
}
我正在开发一个JPA/Jersey web应用程序,想知道是否有更好的方法更新记录。目前,我正在做:
@PUT
@Path("update/{id}")
@Produces("application/json")
@Consumes("application/x-www-form-urlencoded")
public Response createDevice(
@PathParam("id") int id,
@FormParam("name") String
我正在测试Restful控制器的保存方法,CustomerController
客户,域类,有地址关联,地址有城市,城市有州,州有国家
我为地址编写了自定义封送拆收器和自定义绑定帮助器,因此JSON客户是这样的:
{
"id": "g2c3e08iqton4v5bsgti33gkpd35l0er",
"firstName": "Bob1",
"lastName": "Patiño1",
"middleName": "The Payaso1",
"email
我希望使用以下参数执行http密码查询:
{"statements":
[
{"statement":"MATCH path=(p:Person {props})-[*..100]->() RETURN [n in nodes(path)]",
"parameters":{"props":{"name":"Lucille"}}
}
]
}
但是,我得到以下错误参数映射不能在匹配模式中使用(请改用文字映射,例如\“{id:{param}.id}\”
我不知道如何在这里使用
我使用Restaeasy(java)创建了一个Rest服务,该服务必须返回调用的相同URL,但带有一个新字符串
呼叫服务示例:
Post=>mybase/myservice/somewrite和一些JSON
|Reponse=>mybase/myservice/somewrite/123456
所以我想用一个通用逻辑创建mybase/myservice/somewriteurl,因为如果我把String returnURL=“mybase/myservice/somewrite”和我更改了例如m
在使用JSON修补程序更新集合的过程中,我找不到示例。事实上,我想在集合REST资源上使用一个方法PATCH,以便在不再次发送整个集合的情况下更新关联的集合。我想知道JSON补丁是否可以匹配来描述要执行的操作:主要是添加元素还是删除元素。元素是复杂的,这意味着它们不是原始元素
下面是更多的细节。让我们以一个资源联系人为例:
GET /contacts
[
{
"id": "1",
"lastName": "Last name 1",
"firstName": "Fir
OOZIE REST API重新运行-启动作业函数不起作用
嗨,
我想启动Oozie的作业抛出RESTAPI(CDH5.3.1中的Oozie版本4.0.0),但该作业不会启动或重新运行
通过谷歌的高级REST API,我发布了:
PUT {namenode}:11000/oozie/v1/job/0000001-150528075707705-oozie-oozi-W?action=start
结果是:
200正常
{
appPath: "hdfs://{namenode}/user/hue/
我在谷歌上搜索了很多次,但仍然不清楚上面的每一条到底是什么意思
以下是我对它的理解:
jaxrs api:仅包含api。没有实施。但它与JSR311有何不同
jsr311 api:jsr311这是一个规范请求。这意味着它应该是一份文件。那为什么它是一个罐子
javax.ws.rsapi:它是一个实现吗
jersey core(/jersey client):是JSR311的一个实现
我下载了每个jar并尝试进行反编译,查看其中的内容,但我只能在所有jar中找到接口,而无法找到实现
在mave
我现在正在评估,我真的很喜欢
我所缺少的是一个很好的演示,交互式的文档可能类似于
我知道SpringDataREST不是一个静态API,而且确实存在,但不幸的是HAL浏览器没有显示任何关于相应url/GET/POST/etc的文档元数据
SpringDataREST生成元数据(请参阅)
为什么需要这样做?
在我看来,这对前端开发人员非常有用,可以提高生产力。此外,每种自动生成的文档都可以节省大量时间
长话短说:
是否有类似“阿尔卑斯山/超媒体感知REST API的招摇过市UI”
其他信息:
我坐在(的作者)的演讲中,他指出,假设四个REST动作自动映射到四个CRUD动作是REST的一种混乱。即
POST x=> Create
GET x=> Read
PUT x=> Update
DELETE x=> Delete
我有点不明白他的道理。关于架构方面的问题有所不同
我的问题是:为什么REST动作与CRUD动作不对应?因为幂等性
POST和PUT都可以用于“创建”和“更新”操作。POST和PUT的区别在于幂等性:PUT是幂等的,而POST不是
我正在编写一个SSIS脚本组件,用于使用RestAPI将数据导入orientdb,但出现错误500。求你了,我被困在这里了。有人能帮我吗。我使用的是2.1.7版社区版。
这是到目前为止我的代码
Uri address = new Uri("http://localhost:2480//command/SQ-DB/sql/");
HttpWebRequest request = WebRequest.Create(address) as HttpWebRequest;
re
标签: Rest
url-routingparent-childhierarchy
注意:这不是专门针对API的
我有三个实体:建筑单位个人
这是纯粹的简单的1:M互斥关系
个人只能居住在(1)个单元中
单元只能存在于(1)个单元中
建筑本质上是父建筑
我应该有如下URL:
查看模式非常简单
/buildings //Show all buildings
/buildings/[id] //Show one building
/buildings/[id]/units //
我正在尝试使用Office 365 REST API,使用以下请求查找具有非空类别列表的所有邮件:
/api/v2.0/me/messages?$search=%22Categories:-[]%22
但这似乎不起作用:它返回一个空的结果集。当我在Outlook 2016 UI中运行相同的查询时,它确实会返回结果。
是不支持还是他们的查询有问题?作为我的测试,使用以下格式可以获得非空类别列表。
endpointUri+“/Me/Messages?$search=%22类别:%22”。
搜索字段
我试图从外部JAR加载一个类。这是一个新泽西servlet。要将servlet添加到servlet容器,我调用Jersey应用程序类。但无法从浏览器访问该资源。我需要外部加载类的.class,但是如何
public class ApplicationConfig extends Application {
private Object external;
public ApplicationConfig() {
}
@Override
public
我正在研究使用RestEasy API的Resful web服务。在第8章中有一个主题叫做“链接资源”。我读了几遍这一章,但我不明白它是什么。
什么是链接资源?
我们能用它做什么?
我们为什么需要它?我认为它指的是:
超媒体–资源包含到相关资源和
集合,以及对资源执行操作的链接
他们自己。API现在可以自我记录和发现
至于我们为什么需要它,这是一个比我写的要详细得多的答案
当然,所有这些都是理论上的概念——但与此同时,您的问题似乎没有与实际的RestEasy实现细节紧密结合
我们当前的RESTAPI实现使用queryString中的apiKey来处理所有类型的请求(PUT、POST、GET)。我觉得这是错误的,但无法解释原因(也许apiKey可以在服务器和客户端之间的某个地方兑现)。比如:
POST/objects?apiKey=supersecret{name:'some'}
那么,这是一个安全问题吗?请描述HTTP和HTTPS连接情况
无论您是否使用PUT、POST等,只要您将超级机密值从客户端发送到服务器,第三方都可以看到并截获您的超级机密值,反之亦然。当您使
Azure资源API类似于角色分配
(/providers/Microsoft.Authorization/roleasignments?api版本=2015-07-01)
在响应中提供名为nextlink的参数。
但这总是空的。
我尝试添加1010个角色分配,但下一个链接仍然为空。
单个响应中返回的项目数量是否有限制,或者nextlink是否仅用于将来的增强
假设我有一个无状态站点a,它与处理用户身份验证的站点B(在不同的域上)耦合。站点B“用户/状态”上有一个端点,它将用户的会话信息返回到站点A。如果最终用户登录到站点B,则站点A向“用户/状态”发出的请求将包含用户id等
假设最终用户未登录到站点B,因此站点B无法找到最终用户的会话数据。“用户/状态”请求是否应返回404响应 未找到资源时,必须使用状态代码404(未找到)
当您在静态HTML站点中工作时,当URL没有映射到任何资源时,HTTP服务器必须返回404。REST API也一样(资源不存在
我用html5/angular2安装了“sb admin 2”仪表板。
此示例适用于typescript。要实例化图表,文件charts.compent.ts定义类,然后定义图表属性和数据,如下所示
import { Component, OnInit} from '@angular/core';
@Component({
moduleId: module.id,
selector: 'chart-cmp',
templateUrl: 'chart.component.
我在Spring中使用RESTAPI作为后端,Angular 2作为前端
我调用登录URL。当响应为201时,一切正常,但当我发送401/403时,我有一个错误
XMLHttpRequest cannot load http://localhost:8888/emot/login. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:4200'
RESTAPI中的良好实践或标准是什么?服务器响应应该包含资源的ID吗
例如,此响应包含资源的id
GET /users/5
{
"user_id": 5
"first_name" : "John",
"last_name" : "Doe",
"minutes_active": 10
}
这假设资源的id是在请求的url中声明的id
GET /users/5
{
"first_name" : "John",
"last_name" : "Doe",
"minutes_active": 10
}
我已经用Kotlin实现了JAX-RS资源(a),用Java实现了JAX-RS资源(b)。虽然Java风格可以按预期工作,但是Kotlin风格失败了
由于JAX-RS无法将ArrayList编码为json数组,因此找不到媒体类型=application/json,类型=class java.util.ArrayList,genericType=java.util.List的MessageBodyWriter
MessageBodyWriter是一个处理程序,用于将Java数据类型转换为输出格式,
根据REST API端点的设计原则,我们不应该在URL中使用动作/动词(例如/addNewEmployee),如果我们想执行动作,我们应该只使用HTTP动词和相应的资源/名词(例如POST/employees)
现在,我有了一个名为themes的资源,我围绕它创建了以下端点:
GET/themes(列出所有主题)
GET/themes/:name(列出具有给定名称的单个主题)
我想创建另一个端点,通过它我可以执行操作(即切换主题),此操作将更改数据库中设置表中的当前主题字段值。我不确定做这件事的
标签: Rest
bigcommercepricebulkupdate
我正试图找出通过API更新价格的最佳方法
普通的SKU是可以的,但是有选择的物品的价格似乎不那么直接
使用GET v2/products?sku=XXXX,只有项目的基本价格,而不是选择选项的项目的价格
当选择选项时,我们还需要项目的SKU,因为我的更新价目表包含SKU和价格
收集这些信息,然后更新价格的最佳方法是什么
谢谢你的帮助 V3API为此提供了更好的接口
如果您的所有产品选项都与SKU相关,您可以通过
/v3/目录/产品?包含=变体
这将向您显示选项信息以及所有定价-当您在店面上单击该
我想将XML文档作为REST方法调用的一部分传递:
$url = 'https:foobar/get/jars/2/cookies/chocolate-chip'
[xml]$message = @'
<Cookie>
<Password auto="false">Eat</Password>
</Cookie>
'@
$method = 'Put'
$credential = Get-Credential $env:username
$retu
另一位程序员开发了一个服务器应用程序网站,我正在努力提高其可靠性。
目前,android智能手机开始与服务器组件建立tcp连接以交换数据。服务器获取数据,将其写入数据库,其他用户可以通过网站查看数据。问题是,智能手机经常出现在连通性非常差的位置。结果是智能手机失去tcp连接,很难重新连接。现在我的问题是,是否有任何协议是如此轻量级或适应不良的连接,以至于数据交换可以更好或更可靠地工作
例如,我曾考虑用RESTful API替换原始TCP接口,但我真的不知道REST在这种情况下工作得如何,因为我在
404的所有GET Api调用都失败了,但post、put等在Rest assured下运行良好
我们正在使用restasured进行rest层测试。所有get API均因以下原因失败:-
java.lang.AssertionError: 1 expectation failed.
Expected status code <200> but was <404>.
以下是正在工作的职位代码:-
RestAssured.given().
head
我将此作为我脚本的基础:
我的剧本如下
Param(
[string]$vstsAccount = "abc",
[string]$projectName = "abc",
[string]$user = "",
[string]$token = "xyz"
)
# Base64-encodes the Personal Access Token (PAT) appropriately
$base64AuthInfo = [Convert]::ToBase64Stri
我正在尝试使用调用WebRequest从PowerShell查询Elasticsearch。Elasticsearch要求GET请求的主体iwr禁止。有解决办法吗?也许有其他的程序允许这样做curl允许这样做。我知道这不是标准的,但请用Elasticsearch
以下是我尝试过的:
Invoke-WebRequest http://localhost:9200/index* -Body '{
"size": 1,
"sort": [
{ "timestamp":
在这种情况下,特定授权用户会更改其密码或电子邮件。由于电子邮件或密码是用户身份验证的一部分,我认为有必要撤销所有身份验证令牌
如果用户更改了密码或电子邮件,刷新身份验证令牌的最佳做法是什么
我不使用OAuth,但在头中有通常的承载令牌。
我们的想法是在客户端存储一个额外的刷新令牌,每当邮件或密码更改时,我们都会撤销他的访问令牌。在该用户可以使用刷新令牌请求获取新的访问令牌后,根据您的后端(Ruby on Rails、NodeJS等),将有不同的方法。(警告:该帖子中使用了一些色彩鲜艳的语言)它克
我们正在设计一个RESTAPI,它将为get和post请求中的日期字段提供服务
因此,日期字段将出现在http有效负载的正文中
据我所知(如果我错了请纠正我),json中没有日期数据类型定义,它只是字符串。因此,它取决于该字符串日期字段的格式的实现
但这类案例是否没有最佳实践?我发现很难找到指导方针。你能帮忙吗
更新:这个问题被标记为duplicate to,但事实并非如此,因为我询问了日期字段的有效负载的推荐日期格式,而另一篇文章讨论了GET请求URI的格式 您可能会发现最常用的格式是
考虑到
我正在Azure中使用逻辑应用程序和RESTAPI刷新表格模型。这在这里是详细的
刷新从POST开始,这很好。但是,我希望轮询SSAS实例,以了解处理何时完成。文件规定:
“响应中的位置标头包含刷新ID。客户端应用程序可以断开连接,并在需要时检查状态,因为它是异步的。”
然而,报头响应是这样的
{
"statusCode": 200,
"headers": {
"Strict-Transport-Security": "max-age=31536000; inc
书的第458页
“尽管如此,我们可以通过制造依赖性在一定程度上克服这一点
在RESTful资源上,消费者自主性的障碍较小。
即使RESTful(或者RPC)是您唯一的方法
要集成,可以创建时间解耦的幻觉
通过在你自己的系统中使用定时器或消息传递
您的系统将仅在
计时器超时或收到消息时。如果
系统不可用,可以取消计时器阈值,或
如果使用消息传递,则可以对消息进行负面确认
“经纪人和重新交付”
上下文:
我有一个客户服务C
我有一个服务器服务
C--调用-->S
我想增加C的自治性,减少对S的依赖
标签: Rest
python-requestsflask-restful
尊敬的长者/程序员/学者,
我在这里读到了一个关于使用PUT或POST的非常流行的答案,但我无法从中理解什么是正确的方法。几乎每个答案都有评论说这是错误的/这是正确的。这里非常混乱。
我的要求:
向服务器发送2个Json文件,一个插入数据库,另一个更新。我想我会用PUT更新,用POST插入数据库。这样,在客户端本身,我将决定是插入还是更新
混淆:由于只有客户机负责在服务器上创建/更新其数据,因此即使在我的案例中,POST在重复时也会反复插入相同的内容(insert into table valu
我正在使用Puppeter来抓取定期更改内容的页面,并使用express在RESTAPI中显示数据。
如果我打开headless chrome查看浏览器中显示的内容,新的数据就在那里,但是数据没有显示在get()和http://localhost:3005/api-天气。普通浏览器仅显示原始数据
const express = require('express');
const server = new express();
const cors = require('cors');
const
标签: Rest
spring-hateoashateoas
在Spring HATEOAS中,可以返回如下所示的VndError对象:
[
{
"logref" : "some request id",
"message" : "your request was incorrect."
}
]
[
{
"logref" : "some request id",
"message" : "your request was incorrect.",
"additional" : {
"some
我有一个API,为订单收费。它接受orderId和金额作为输入。然后它向下游发出一个“/charge”调用,该调用返回一个202。在此调用之后,它立即调用“/verify”端点以确保上一次充电成功
现在,这项指控可能会被拒绝。原因之一可能是用户使用了过期的卡。在这种情况下,错误代码应该是什么
在我看来,我无法发送4xx,因为请求对于我的API透视图是正确的。一个错误的请求是用户可以纠正的——在这种情况下,他无法纠正任何事情,因为API只接受“orderId”和总费用
如果我发送的是5XX,那么5
假设我们已经实现了提供金融/银行服务的RESTful API,并希望将其提供给内部开发团队,以实现本机移动客户端应用程序
从这个意义上讲,应用程序和API将是公开的,并且可以访问,因此需要以各种可能的方式对访问它的内容进行授权
想到的第一个解决方案是提供客户端id和客户端机密,并让开发人员使用授权http头对每个请求进行签名:
Authorization: APP client_id:base64(HMAC-SHA256(content, client_secret))
只要服务器“知道”客户
我已经研究了很多WebRTC示例,它们都需要一个自定义Websocket服务器来交换信令数据。OTOH,每个WebRTC文档都声明您可以使用任何方式发送信号,包括运营商pidgeons
所以我一直在想,只是出于好奇:为什么信号发送通常不使用无聊的旧RESTAPI(或类似的)来完成?这并不是说安装过程有实时性要求,使用WebSocket是有意义的…因为您通常希望安装过程尽可能快,并且可能有很多消息要交换,特别是如果您使用冰滴。使用AJAX时,您必须使用重复轮询,这当然要慢一些。如果这对您来说已经足
我正在努力开发Struts2中的rest服务。要做到这一点,我们可以通过struts2 rest插件或struts2-json-plugin实现。只是想了解struts2 rest插件实现与struts2 json插件的不同之处。以下是struts2 json插件的工作代码
struts.xml
<package name="default" extends="json-default">
<action name="getEmployeeDetails" class=
标签: Rest
Api
anypoint-studiomulesoftapi-manager
我在design center中创建了一个具有不同端点的API,并将其发布到exchange
我正在使用一个与mock不同的特定API实例来运行这个API并获取真实数据,而不是mock示例
如何使此API对每个人都可见,以便他们也可以对其进行测试?您需要使用exchange视图中的共享选项将此API共享到公共门户。一旦你这样做了,任何人都可以通过点击域名所在的位置来查看你的API。您可以按照以下链接中提供的步骤操作。
如果您已经实现了API,那么我认为您需要在cloudhub上部署mule应用程
假设我们有一组自定义编写的SAS宏,每个宏都有几个参数。让我们进一步假设这些输入参数主要是标量(即单个数字)或小表我现在正试图找出如何用最简单的架构为这些宏构建REST端点。我目前在外部世界拥有一台nginx Web服务器,在安全区域拥有一台SAS服务器。我想要的是SAS的Python烧瓶。有人试过了吗
输入数据足够简洁,可以使用POST或GET推送到web服务器,宏的结果通常是一个简单的表,可以转换为JSON,所以这应该不是问题
PS:我在这里问,因为我发现我可能使用了错误的搜索词
工具书类
我正在构建一个应用程序,用户可以在其中创建自己的资源(稍后使用这些资源)或直接使用公共资源。
通常,查找是分开的,这意味着用户可以在其私有资源中搜索,也可以在公共资源中搜索。用户可以执行以下操作:
搜索资源列表
查找资源的详细信息
在db级别,最好知道查询是针对公共资源还是针对私有资源,但我不太确定如何在API中清晰地表示这一点。我当时想的是:
GET /api/resource?isPublic=[true|fase]&page=&size
GET /api/resourc
我有一个restapi,它需要很少的参数,我希望这个API的调用者在主体中传递这些信息。例如:-我的API需要用户名、名字和姓氏
客户端的开发人员认为他不会发送名字和姓氏,我的API应该在内部进行另一次调用,根据用户id从其他API获取此信息
我知道这在某些情况下可能会有所帮助,但我认为服务代码进行额外调用以获取客户端已经可用的额外信息并不总是一个好主意。想知道我应该在哪里划清界限吗?如果一个服务必须向另一个服务发出请求并阻塞直到收到响应,那么第一个服务在没有其他服务的情况下无法工作。这就产生了
1 2 3 4 5 6 ...
下一页 最后一页 共 237 页