我正在用http编写一个应用程序,我想发布json文件,里面有csv并解析它。当我使用enitityToString()时,我在单行中得到字符串,而不是/n中的字符串。
我的http服务器:
public static void createHttpServer(ApplicationRouter applicationRouter) {
ActorSystem actorSystem = ApplicationProperties.actorSystem;
Http http = Http.get(actorSystem);
ActorMaterializer actorMaterializer = ActorMaterializer.create(actorSystem);
Flow<HttpRequest, HttpResponse, NotUsed> routeFlow = applicationRouter
.createRoute()
.flow(actorSystem, actorMaterializer);
http.bindAndHandle(routeFlow, ConnectHttp.toHost(ApplicationProperties.httpHost,
Integer.parseInt(ApplicationProperties.httpPort)), actorMaterializer);
}createRoute函数:
public Route createRoute() {
return route(
post(() -> route(
panelDataUpload()
)),
get(() -> route(
path("health-check", this::healthCheck)
))
);
}panelDataUpload函数:
private Route panelDataUpload() {
return path(PathMatchers
.segment("panel")
.slash("data"), () -> parameterList
(parameters -> entity(entityToString(), this::processRequestData))
);
}当我在processRequestData中显示字符串时,我会得到单行字符串,而不是"/n“或其他什么。
我要发送的文件:
{
"table": "panelTest",
"panel-data": "header1,header2,header3
va0,va1,va2
v10,v11,v12
v20,v21,v22"
}卷曲:
curl -d @"import.txt" -H "Content-Type: application/json" -X POST http://localhost:8777/panel/data有什么办法从实体中获取行尾标记吗?我做错什么了?
发布于 2019-08-20 13:37:20
问题是卷曲,-d标志跳过换行符--数据二进制标志使它工作得很完美。谢谢
https://stackoverflow.com/questions/57558776
复制相似问题