【发布时间】:2020-01-31 20:27:14
【问题描述】:
在我的 Micronaut 应用中,我有一个简单的 REST 控制器:
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 参数。就我而言,没有要发送的尸体。 (在实际代码中,它是一个初始化新对象的请求,因此它必须是 POST)。
【问题讨论】: