Java Akka actor 的 HTTP POST 请求未命中 post 路径
Java Akka actor's HTTP POST request not hitting the post path
我正在使用 akka 版本 2.6.17 和 akka http 10.2.7 创建一个 post 请求。我的系统绑定到端口 8080,可以很好地接收来自 Postman 的 post 请求。但是,当从 akka 本身内部发送 post 请求时(发送 post 请求的 actor),永远不会命中 POST 路径。
这是 post 请求
public void postStockCheck(){
String data = "{\"id\": \"yes\"}";
HttpRequest.POST("http://localhost:8080/hello")
.withEntity(HttpEntities.create(ContentTypes.TEXT_PLAIN_UTF8, data));
}
这是路径:
return route(
path("hello", () ->
post(() ->
entity(Unmarshaller.entityToString(), (string) -> {
System.out.println("request body: " + string);
return complete("Success");
})
)));
}
如前所述,该路径将从 postman 开始工作。如果我遗漏了什么,我们将不胜感激!
您在 postStockCheck
中创建了一个 HttpRequest
,但尚未发射它。要触发请求,您可以使用 Http
.
中的 singleRequest
方法
public void postStockCheck(ActorSystem system) {
String data = "{\"id\": \"yes\"}";
Http.get(system)
.singleRequest(HttpRequest.POST("http://localhost:8080/hello")
.withEntity(HttpEntities.create(ContentTypes.TEXT_PLAIN_UTF8, data)));
}
要更好地了解触发请求和收集响应,请查看 docs。
我正在使用 akka 版本 2.6.17 和 akka http 10.2.7 创建一个 post 请求。我的系统绑定到端口 8080,可以很好地接收来自 Postman 的 post 请求。但是,当从 akka 本身内部发送 post 请求时(发送 post 请求的 actor),永远不会命中 POST 路径。 这是 post 请求
public void postStockCheck(){
String data = "{\"id\": \"yes\"}";
HttpRequest.POST("http://localhost:8080/hello")
.withEntity(HttpEntities.create(ContentTypes.TEXT_PLAIN_UTF8, data));
}
这是路径:
return route(
path("hello", () ->
post(() ->
entity(Unmarshaller.entityToString(), (string) -> {
System.out.println("request body: " + string);
return complete("Success");
})
)));
}
如前所述,该路径将从 postman 开始工作。如果我遗漏了什么,我们将不胜感激!
您在 postStockCheck
中创建了一个 HttpRequest
,但尚未发射它。要触发请求,您可以使用 Http
.
singleRequest
方法
public void postStockCheck(ActorSystem system) {
String data = "{\"id\": \"yes\"}";
Http.get(system)
.singleRequest(HttpRequest.POST("http://localhost:8080/hello")
.withEntity(HttpEntities.create(ContentTypes.TEXT_PLAIN_UTF8, data)));
}
要更好地了解触发请求和收集响应,请查看 docs。