草庐IT

rest-assured-jsonpath

全部标签

java - 使用 SAML 的 REST API 身份验证

我正在努力为使用网关的RESTAPI设计SAML2.0身份验证。REST在我的后端和我的应用程序之间使用。我正在使用JavaServlet过滤器和Spring。我看到两种可能性:每次都将SAMLtoken添加到header中。使用SAML进行一次身份验证,然后在客户端和网关之间使用session或类似(安全对话)。案例1:这是一个很好的解决方案,因为我们仍然是RESTful,但是:SAMLtoken非常大。由于header大小过大,可能会产生问题。重放token并不是解决安全问题的最佳方式。情况2:它不再是无状态的,我必须管理与客户端的链接。由于我使用网关,底层服务仍然可以是RESTf

java - 使用 Jackson 或 Gson 的 Jsonpath

我得到了一个很大的json文档,我只想将其中的一部分解析到我的java类中。我在考虑使用jsonpath之类的东西从中提取部分数据,而不是创建整个java类层次结构。Jackson或Gson是否以任何方式支持jsonpath?如果是,能否为此提供一些示例或指向另一个标准库?例如,假设我有一个下面的文档,我只想在我的Java类中从中提取下面的数据:$.store.book[0]-只有第一本书$.store.bicycle.price-自行车价格{"store":{"book":[{"category":"reference","author":"NigelRees","title":"S

Java RESTful 服务 - QueryParam 和 PathParam 在使用方面有什么区别?

QueryParam和PathParam在用法上有什么区别?我知道可以使用它们将数据传递给服务。PathParam是前面的数据吗?URL中和QueryParam是?后的名称值数据。但我想知道这些到底是如何使用的。 最佳答案 @QueryParam用于访问URL查询字符串中的键/值对(?之后的部分)。例如在urlhttp://example.com?q=searchterm中,你可以使用@QueryParam("q")来获取q的值。@PathParam用于匹配URL的一部分作为参数。例如,在http://example.com/boo

java - REST 如何是 "lightweight"?

我一直看到SOAP是“重量级”而REST是“轻量级”。根据哪些参数,我们可以判断REST比SOAP轻量级?我们公司之前使用的是IFW模型网络服务。但是我们的管理层告诉我们要在REST中开发所有新的API。我们是我公司的后端服务提供商。REST如何对我们最有用?“轻量级”在上下文中是什么意思?这个问题好像是重复的,但不理解所用的术语。 最佳答案 REST为您提供了进入系统的无session窗口。它不跟踪你,它不关心你。您所做的就是发送一个请求,其中包含……希望有一些id来验证您是否可以做到。它可能会返回一个HTTP状态代码,它可能会返

java - JPA 与 DTO 和乐观锁定合并到 RESTful Web 应用程序中?

我的问题是:JPAmerge在无状态Web应用程序中有作用吗?SO上关于JPA中的merge操作的讨论很多。还有一个greatarticleonthesubject这与JPA通过更手动的Do-It-Yourself过程合并形成对比(您通过实体管理器找到实体并进行更改)。我的应用程序有一个丰富的域模型(ala域驱动设计),它使用@Version注释以使用乐观锁定。我们还创建了DTO,作为我们RESTfulWeb服务的一部分通过网络发送。这个DTO层的创建还允许我们向客户端发送它需要的一切,而不是它不需要的。到目前为止,我理解这是一个相当典型的架构。我的问题是关于需要更新(即HTTPPUT

使用身份验证 token 的 Java REST 服务

在我使用JavaEE6的网络应用程序上。我想将我的一些功能公开为JsonRest服务。我想使用身份验证token进行登录,用户将发送他们的用户名、密码,服务器将发回一个token,该token将用于在给定时间内对用户的进一步请求进行授权。目前有几个问题困扰着我;当服务器创建token并发送给客户端时,服务器应该将其保存在数据库中还是Bean中,使用哈希表之类的东西作为用户ID-token对?我能否在使用任何JavaEE特定API时获得一些帮助,或者这必须全部是自定义代码? 最佳答案 这是我的输入:我会将token保存在数据库中,以防

java - 用于 Java 的轻量级 REST 库

我正在为我正在开发的JavaWeb应用程序寻找REST的轻量级版本。我看过RESTlet(www.reSTLet.org)和Struts2的REST插件,但我还没有下定决心。我倾向于RESTlet,因为它看起来更轻。有没有人在没有任何框架或使用框架的情况下实现了RESTful层?由于新的网络层,您遇到过任何性能问题吗?REST的引入是否给您的项目增加了难以管理或不合理的复杂性?(有些复杂性是可以理解的,但我的意思是仅仅为了添加REST就简单地矫枉过正您的设计) 最佳答案 我是JAX-RS的忠实粉丝-我认为他们在该规范方面做得很好。我

java - 如何在 RESTful Web 服务中使用 Jersey 框架抛出 HTTP 204 状态代码?

我正在使用jersey框架开发RESTful网络服务。我使用以下代码抛出各种HTTP状态代码和响应:publicclassRestNoContentExceptionextendsWebApplicationException{publicRestNoContentException(Stringmessage){super(Response.status(Status.NO_CONTENT).entity(message).type("text/plain").build());}}在使用FirefoxMozilla休息客户端工具测试REST网络服务时,它显示200OK状态而不是20

java - 如何使用 Jersey API 从 Restful Web 服务发送和接收 JSON 数据

@Path("/hello")publicclassHello{@POST@Path("{id}")@Produces(MediaType.APPLICATION_JSON)@Consumes(MediaType.APPLICATION_JSON)publicJSONObjectsayPlainTextHello(@PathParam("id")JSONObjectinputJsonObj){Stringinput=(String)inputJsonObj.get("input");Stringoutput="Theinputyousentis:"+input;JSONObjectou

java - 如何在 REST 响应后删除文件

这个问题在这里已经有了答案:WriteanInputStreamtoanHttpServletResponse(3个答案)关闭4年前。在文件作为对REST请求的响应返回后,处理删除文件的最佳方法是什么?我有一个端点,它根据请求创建一个文件并在响应中返回它。发送响应后,不再需要该文件,可以/应该将其删除。@Path("file")@GET@Produces({MediaType.APPLICATION_OCTET_STREAM})@OverridepublicResponsegetFile(){//Createthefile...//Getthefileasasteamfortheent