Tag: rest

有谁知道遵循HATEOAS原则的RESTful客户端的例子吗?

所以现在我明白了,我们应该全部实施我们的RESTful服务,提供使客户遵循HATEOAS原则的表示。 从理论上说,这一切都很有道理,但我一直在网上search一个严格遵循这个概念的客户代码的例子。 我读得越多,我就越觉得这是一个学术讨论,因为没有人真的这样做! 人们可以嘲笑WS- *堆栈的许多缺陷,但至less清楚如何编写客户端:您可以parsingWSDL并生成代码。 现在我明白,对于一个好的RESTful服务来说,这不是必须的:您只需要知道所涉及的关系和表示,并且您应该能够对这些服务进行dynamic反应。 但即使如此,现在这个原则不应该被提炼成一些共同的图书馆吗? 提供有关您可能会收到的表示和关系的信息,并获得一些您可以在应用程序中使用的更有用的高级代码? 这些只是我的一半的想法,但我只是谨慎,如果我现在正在潜心编写一个适当的RESTful API,没有人真的能够使用它! 或者至less使用它会在后面如此痛苦,因为额外的英里人们将不得不去写胶水代码来解释我提供的关系和表示。 任何人都可以从客户的angular度来解释这一点吗? 有人可以展示一个正确的dynamic/被动RESTful客户端代码的例子,以便我可以对我实际上正在写的观众有一个想法吗? (更好的还是一个提供一些抽象的客户端API的例子)否则,它的一切都非常理论…. [编辑:请注意,我在这里发现了一个类似的问题,我不认为这是真正的答案,作者被一个维基百科的存根所束缚!]

创造springrest服务,不用spring引导

我已经按照spring.io入门教程构build了REEST服务https://spring.io/guides/gs/rest-service/ 。 问题在于本教程仅解释如何使用spring引导来embeddedtomcat来生成独立运行的jar。 有没有办法从头开始创build一个项目来产生一个战争部署在一个已经存在的tomcat实例? PS:我已经find了一个以前的线程的Spring REST风格的服务作为一个战争而不是JAR在Tomcat的stackoverflow关于同样的问题。 问题是,接受的答案和build议并不完全解决我的问题,因为我不想find方法来修改独立应用程序弹簧引导项目,以便它可以在外部的Tomcat容器上工作,但希望find“干净”的解决scheme根本不涉及弹簧启动。 (我不确定如何在这里performance,在stackoverflow上还是比较新的,我希望能够提出一个新的问题是正确的方法)。

我需要在Java中创build一个RESTful API服务器?

我想build立我自己的RESTful API服务器,我不知道我需要什么。 我会告诉你一些关于这个项目的信息: 在Web服务(www.mysite.com/)上,用户可以注册和pipe理他们的帐户等等。 但是他们也可以使用RESTful API(mysite.com/api/ …),并且可以通过REST完成相同的操作。 什么是一个很好的方法来实现这一点? 我是否需要使用docker或类似的东西? 我应该拆分Web服务和宁静的API? 我是一个很好的build筑呢? 谢谢 :)

如何以RESTful方式公开validationAPI?

我通常是RESTful APIdevise的粉丝,但我不确定如何将REST原则应用于validationAPI。 假设我们有一个API来查询和更新用户的个人资料信息(姓名,电子邮件,用户名,密码)。 我们认为一个有用的function部分将是validation,例如查询给定的用户名是否有效和可用。 这种情况下的资源是什么? 什么HTTP状态代码和/或标题应该使用? 作为开始,我有GET /profile/validate ,其中包含查询string参数,并返回204或400如果有效或无效。 但是validate显然是一个动词,而不是一个名词。

找不到RESTful资源。 404或204? 泽西从处理程序返回null返回204

如果你正在寻找/Resource/Id和资源不存在,我一直认为,404是适当的回应。 但是,当从Jersey处理程序返回null时,我会返回“204无内容”。 我可以和任何一个人一起工作,但很好奇别人对此的想法。 回答我自己的下一个问题。 要让泽西返回404,你必须抛出exception。 if (a == null) throw new WebApplicationException(404);

我应该如何在我的RESTful JAX-RS Web服务中logging未捕获的exception?

我有一个使用Jersey和Jackson在Glassfish 3.1.2下运行的RESTful Web服务: @Stateless @LocalBean @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) @Path("users") public class UserRestService { private static final Logger log = …; @GET @Path("{userId:[0-9]+}") public User getUser(@PathParam("userId") Long userId) { User user; user = loadUserByIdAndThrowApplicableWebApplicationExceptionIfNotFound(userId); return user; } } 对于预期的exception,我抛出相应的WebApplicationException ,并且如果发生意外的exception,则返回HTTP 500状态。 我现在想为这些意想不到的exception添加日志logging,但是尽pipesearch,但无法find我应该如何去做这件事。 无果而终的尝试 我已经尝试过使用Thread.UncaughtExceptionHandler并且可以确认它应用在方法体内部,但是它的uncaughtException方法从来没有被调用,因为别的东西在它们到达我的处理程序之前处理了未捕获的exception。 其他想法:#1 我见过一些人使用的另一个选项是一个ExceptionMapper ,它捕获所有exception,然后过滤掉WebApplicationException: @Provider public class ExampleExceptionMapper implements ExceptionMapper<Throwable> { private static final […]

REST API – 在单个请求中批量创build或更新

假设有两个资源“ Binder和Doc关联关系”,这意味着“ Doc和“ Binder独立的。 Doc可能或可能不属于Binder而Binder可能是空的。 如果我想devise一个REST API,允许用户发送一个Doc集合, 在一个单一的请求 ,如下所示: { "docs": [ {"doc_number": 1, "binder": 1}, {"doc_number": 5, "binder": 8}, {"doc_number": 6, "binder": 3} ] } 对于文档中的每个docs , 如果doc存在,则将其分配给Binder 如果doc不存在,请创build它,然后分配它 我真的很困惑这应该如何实施。 使用什么HTTP方法? 必须返回哪些响应代码? 这甚至是合格的REST? URI将如何? /binders/docs ? 处理批量请求,如果有几个项目出现错误,但另一个项目则通过。 必须返回哪些响应代码? 批量操作应该是primefaces的吗?

简单,安全的APIauthentication系统

我有一个简单的REST JSON API用于其他网站/应用程序访问我的网站的一些数据库(通过PHP网关)。 基本上这样的服务是这样的:call example.com/fruit/orange,服务器返回关于橙色的JSON信息。 这是问题:我只想要我允许访问这个服务的网站。 使用简单的API密钥系统,任何网站都可以通过从授权网站(潜在的)客户端代码复制密钥来快速获得密钥。 我已经看过OAuth,但是对于我所做的事情似乎有点复杂。 解决scheme?

Spring MVC @RestController和redirect

我有一个使用Spring MVC @RestController实现的REST端点。 有时,取决于我的控制器中的input参数我需要在客户端发送httpredirect。 是否有可能与Spring MVC @RestController,如果是这样,你可以请示例?

在ASP.net MVC 4 WebApi中嵌套的资源

在新的ASP.net MVC 4 WebApi中,是否有更好的方法来处理嵌套的资源,而不是为每一个设置一个特殊的路由? (类似于这里: ASP.Net MVC支持嵌套资源? – 这是2009年发布)。 比如我想处理: /customers/1/products/10/ 我已经看到了除Get() , Post()等命名的ApiController动作的一些例子,例如在这里我看到一个名为GetOrder()的动作的例子。 我找不到任何文件。 这是达到这个目的的一种方法吗?