我想测试一个连接到Github api的应用程序,下载一些记录并对其进行处理。我想要一个模拟对象,我做了如下操作:
@SpringBootTest
public class GithubApiTest
{
GithubApiClient githubApiClient;
@Mock
HttpClient httpClient;
HttpRequest httpRequest;
@Value("response.json")
private String response;
@BeforeTestClass
void init() throws IOException, InterruptedException {
HttpRequest request = HttpRequest.newBuilder()
.GET()
.uri(URI.create("https://api.github.com/repos/owner/reponame"))
.build();
githubApiClient = new GithubApiClient(httpClient);
Mockito.when(httpClient.send(request, HttpResponse.BodyHandlers.ofString())).thenReturn(<here>
);
githubApiClient = new GithubApiClient(httpClient);
}
}
看起来不错吧?我应该在thenReturn中输入什么(它需要HttpResponse,但我不知道如何创建)。谢谢你的回答。如果你有更好的想法,我将不胜感激。
更新:字符串响应是一个示例响应
您创建一个HttpACK类型的模拟响应。模拟响应将具有状态代码200,响应正文是您请求的String类型的“ExpleOfA响应正文”。
import java.net.http.HttpResponse;
HttpResponse<String> mockedResponse = Mockito.mock(HttpResponse.class);
Mockito.when(mockedResponse.statusCode()).thenReturn(200);
Mockito.when(mockedResponse.body()).thenReturn("ExampleOfAResponseBody");
Mockito.when(httpClient.send(request, HttpResponse.BodyHandlers.ofString())).thenReturn(mockedResponse);
httpd是Apache超文本传输协议(HTTP)服务器的主程序。被设计为一个独立运行的后台进程,它会建立一个处理请求的子进程或线程的池。 通常,httpd不应该被直接调用,而应该在类Unix系统中由apachectl调用,在Windows NT/2000/XP/2003中作为服务运行和在Windows 95/98/ME中作为控制台程序运行. 语法 httpd [ -d serverroot ]
我正在从我的角UI调用Spring引导REST服务。只要Spring Boot Rest服务作为Spring Boot应用程序执行,它就运行良好。但是一旦我将其转换为WAR文件并部署在Jboss 6.2.4服务器上,我就会得到404。我看到来自UI的REST服务调用成功,但请求JSON没有通过。在请求JSON上,我正在传递2个字符串和一个上传的excel文件。 这是我的angular UI htt
我正在使用MEAN stack构建的SPA中实现fb身份验证。虽然我已经使用facebook token passport策略成功实现了fb身份验证,但我在保护APIendpoint方面遇到了问题。因为为此,我需要在$http服务中同时传递经过身份验证的用户对象和访问令牌,并且我已经尝试将访问令牌作为用户对象的属性和头属性传递,但仍然是401(未经授权的错误)。下面是我的代码片段。 护照留档显示“
我正在使用GWT和Spring controller来管理http流量。有些请求可能需要很长时间,但我希望在超过给定时间时终止请求。 我如何配置超时Spring。我也使用Apache Tomcat 7.0。我试图在tomcat上inrease最大线程,但有一段时间tomcat工作缓慢,因为请求线程不会死。
是否有人将spring webflux与netty(http/2)一起使用? Spring文档说明: 您可以使用配置属性在Spring Boot应用程序中启用HTTP/2支持。此支持取决于所选的Web服务器和应用程序环境,因为JDK8不支持该协议。Spring Boot不支持HTTP/2协议的明文版本h2c。因此您必须先配置SSL。 标志服务器。http2.enabled对我不起作用。 我正在使用
我只是有一个关于服务中http请求的结构和处理响应的问题。我正在使用Angular2。alpha46 Typescript(刚刚开始测试-我喜欢它…Ps…。感谢所有一直致力于它并通过github作出贡献的人) 因此,采取以下措施: 登录表单。组成部分ts 从这个组件中,我导入了我的userService,它将容纳我的超文本传输协议请求,以登录用户。 使用者服务ts 我想做的是能够处理http请求之