java - Java Akka 演员的 HTTP POST 请求未命中发布路径
问题描述
我正在使用 akka 版本 2.6.17 和 akka http 10.2.7 创建一个发布请求。我的系统绑定到 8080 端口,可以很好地接收来自 Postman 的 post 请求。但是,当从 akka 本身(发送 post 请求的参与者)发送 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");
})
)));
}
如前所述,该路径将从邮递员处工作。如果我遗漏了什么,我们将不胜感激!
解决方案
在postStockCheck
您创建了一个HttpRequest
,但还没有解雇它。要触发请求,您可以使用singleRequest
方法 from Http
。
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)));
}
要更好地了解触发请求和收集响应,请浏览文档。
推荐阅读
- java - 编写 J/XFS 代码以与 ATM 外围设备交互
- azure - Azure OAuth 处理应用程序问题
- machine-learning - 将视觉上不同的对象分类为一类
- ruby-on-rails - 使用 RubyMine 调试 Rails 5:断点不起作用
- javascript - JS将列表项颜色与选定项匹配
- mongodb - 是否可以提高 Mongoexport 的速度?
- c++ - 如何在 C++ 上读取文件、反转部分文本并将反转的部分写入另一个文件?
- python - 从实例访问类变量如何在 python 中工作?- 一个令人困惑的例子
- java - 使用 css 的背景图像从 servlet 显示 svg
- c# - 有条件地填充 LINQ To 实体中的类字段