gpt4 book ai didi

rest - Micronaut:测试 POST 请求

转载 作者:行者123 更新时间:2023-12-04 14:16:17 26 4
gpt4 key购买 nike

在我的 Micronaut 应用程序中,我有一个简单的 REST Controller :

public class Response {
private String code;

public Response(String code) {
this.code = code;
}
}

@Controller("/api/test")
public class TestController {

@Post("/")
public Response index() {
return new Response("OK");
}
}

我如何测试这个 edpoint?我尝试使用

@MicronautTest
public class TestControllerTest {
@Inject
EmbeddedServer server;

@Inject
@Client("/")
HttpClient client;

@Test
void testResponse() {
String response = client.toBlocking()
.retrieve(HttpRequest.POST("/api/test/")); // FIXME `HttpRequest.POST` requires body
assertEquals("{\"code\": \"OK\"}", response);
}

但是 HttpRequest.POST 需要指定一个额外的 body 参数。就我而言,没有要发送的 body 。 (在实际代码中,它是一个初始化新对象的请求,因此它必须是 POST)。

最佳答案

通常,当您实现一个 POST 操作时,您希望有一个正文随请求一起发送。在您的示例中,您不接受任何 POST 正文,但您仍然需要在单元测试中通过任何内容。

您可以通过以下方式实例化 HttpRequest 对象:

HttpRequest.POST("/api/test/", "");

你不能传递null,它必须是一些非空值(比如空字符串。)

关于rest - Micronaut:测试 POST 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60010797/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com