草庐IT

REST_Framework

全部标签

java - 如何在 Play Framework 2.x [Java] 中模拟 Controller /休息端点以进行单元测试

我们正在PlayFramework2.x上使用Java开发一个项目,并且有一些休息端点。我们还为他们准备了一些测试用例,如下所示:@TestpublicvoidtestLogout()throwsException{FakeRequestrequest=newFakeRequest("GET","/product/api/v1/logout");Resultresult=route(request);assertThat(status(result)).isEqualTo(OK);assertThat(contentType(result)).isEqualTo("applicatio

java - Java Collections Framework 中常用方法(大小)的意外复杂性?

最近,我对某些Java集合没有方法size()的常量时间操作感到惊讶。虽然我了解到集合的并发实现会做出一些妥协,作为并发增益的权衡(ConcurrentLinkedQueue、ConcurrentSkipListSet、LinkedTransferQueue等中的大小为O(n)),但好消息是API文档中对此进行了适当记录。我关心的是方法大小对某些集合方法返回的View的性能。例如,TreeSet.tailSet返回其元素大于或等于fromElement的支持集部分的View。令我非常惊讶的是,对返回的SortedSet调用大小在时间上是线性的,即O(n)。至少这是我设法从OpenJDK

java - 带有 Spring Data Elasticsearch 的 Elasticsearch Rest Client

我正在使用Springboot和AWSelasticsearch服务。仅提供REST接口(interface)的AWSElasticsearch服务。ElasticsearchRest客户端是here.简单地说,是否可以将REST客户端与SpringDataElasticsearch一起使用?换句话说,SpringDataElasticsearch是否与ElasticsearchRest客户端一起使用?SpringDataElasticsearch非常易于使用,模板提供了我需要的大部分功能。使用ElasicsearchRest客户端时,我必须自己实现所有功能。

REST API的基础:HTTP

在本文中,我们将深入探讨万维网数据通信的基础-HTTP。什么是超文本?HTTP(超文本传输协议)的命名源于“超文本”。那么,什么是超文本?想象一下由超链接组成的文本、图像和视频的混合物。这些链接充当我们从一个超文本集合跳转到另一个集合的门户。HTML(超文本标记语言)就是超文本的一个典型示例。HTML是一个纯文本文件。它包含许多标签,这些标签定义了到图像、视频等的链接。浏览器解释这些标签后,将看似普通的文本文件转换为充满文本和图像的网页。HTTP/1.1、HTTP/2和HTTP/3自从1989年诞生HTTP0.9以来,HTTP经历了重大变革。让我们回顾一下每个HTTP版本解决的问题。下图展示了

java - Play Framework 2.x 无法识别新创建的 scala.html View

我正在使用PlayFramework2.0.1。我使用“playnew”命令创建了一个Java应用程序。默认情况下,会创建两个View:index.scala.html和main.scala.html我已经完成了一些示例教程应用程序,可以让我呈现这些View。但是,当我添加一个新View(默认情况下在app/views/中)时,我得到一个无法找到它的编译错误:publicstaticResultgetAllCars(){Listcars=Car.getAllCars();returnok(simpleCarView.render(cars));}我可以importviews.html.

java - 混合 Spring MVC + Spring Data Rest 导致奇怪的 MVC 响应

我有两个JPA实体,一个带有SDR导出存储库,另一个带有SpringMVCController和一个非导出存储库。MVC公开的实体引用了SDR管理的实体。请参阅下面的代码引用。从UserController检索User时,问题就出现了。SDR托管实体不会序列化,似乎Spring可能会尝试在响应中使用HATEOAS引用。这是完全填充的User的GET的样子:{"username":"foo@gmail.com","enabled":true,"roles":[{"role":"ROLE_USER","content":[],"links":[]//whythecontentandlink

java - REST 服务上的身份验证 token 有什么意义

在使用REST网络服务时使用身份验证token而不是在每次发出请求时通过HTTPS/加密发送用户名和密码有何值(value)?我知道例如OAUTH有一些好处,因为您不需要将密码泄露给第三方,您可以将token传递给您不想共享用户名/密码的受信任的第三方..等等但是除了以上这些我当然不需要的特殊好处之外,为什么我要使用token而不是每次都发送用户名/密码。这可能是为了方便客户端,它不必每次都发送用户名/密码。好吧,但是现在客户必须记住我的token并在每次请求时向我发送token。因此,现在它不会记住/发送用户名/密码,而是对token执行相同的操作!所以客户端实现代码并没有减少。那么

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

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

java - 在 Play Framework 2.0 中将文件作为流上传

我正在编写一个允许用户上传文件的play2.0java应用程序。这些文件存储在我使用Java库访问的第三方服务上,我在此API中使用的方法具有以下签名:voidstore(InputStreamstream,Stringpath,StringcontentType)我已经设法使用以下简单的Controller进行上传:publicstaticResultuploadFile(Stringpath){MultipartFormDatabody=request().body().asMultipartFormData();FilePartfilePart=body.getFile("fil

java - REST 如何是 "lightweight"?

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