首页 > 解决方案 > 如何在 Android Studio 中使用 Postman 代码片段 java OkHttp?

问题描述

我需要使用 HERE 数据库中的速度限制。应用程序 ID 和应用程序代码来自 HERE。为此,我使用了生成 java okhttp 代码的邮递员。不幸的是,我不知道如何在 android studio java 项目中使用它。在 postman 应用程序中,url 工作并显示有关速度限制的数据,而在 android studio 中使用 url 并粘贴到浏览器中后,它会收到错误代码。在项目中,我添加了 okhttp 库

来自邮递员的代码片段,没有应用代码和 ID:

OkHttpClient client = new OkHttpClient().newBuilder()
  .followRedirects(false)
  .build();
MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = RequestBody.create(mediaType, "SEQNR,\tLATITUDE,\tLONGITUDE\r\n1,\t50.92691,\t20.56616");
Request request = new Request.Builder()
  .url("https://fleet.api.here.com/2/calculateroute.json?routeMatch=1&mode=fastest;car;traffic:disabled&attributes=SPEED_LIMITS_FCn(FROM_REF_SPEED_LIMIT,TO_REF_SPEED_LIMIT),TRUCK_SPEED_LIMITS_FCn(FROM_REF_SPEED_LIMIT,TO_REF_SPEED_LIMIT)&app_id=HERE-id&app_code=HERE-code")
  .method("POST", body)
  .addHeader("Content-Type", "text/plain")
  .build();
Response response = client.newCall(request).execute();

邮递员的数据:

{"response":{"route":[{"mode":{"type":"matched","transportModes":["car"],"trafficMode":"disabled"},"boatFerry":false,"railFerry":false,"waypoint":[{"linkId":"-986614529","mappedPosition":{"latitude":50.92681,"longitude":20.56622},"originalPosition":{"latitude":50.92691,"longitude":20.56616},"spot":0.60455,"confidenceValue":0.4,"elevation":0.0,"headingDegreeNorthClockwise":10000.0,"headingMatched":-111.0,"matchDistance":12.38,"minError":11.0,"routeLinkSeqNrMatched":0,"speedMps":0.0,"timestamp":0}],"leg":[{"length":0,"travelTime":0,"link":[{"linkId":"-986614529","length":0.0,"remainDistance":0,"remainTime":0,"shape":[50.92681,20.56622,50.92681,20.56622],"functionalClass":5,"confidence":0.91,"attributes":{"SPEED_LIMITS_FCN":[{"FROM_REF_SPEED_LIMIT":"50","TO_REF_SPEED_LIMIT":"50"}]}}],"trafficTime":0,"baseTime":0}],"summary":{"travelTime":0,"distance":0,"baseTime":0,"trafficTime":0,"flags":[]}}],"warnings":[{"message":"Ignoring input file columns SEQNR","code":1002,"routeLinkSeqNum":-1,"tracePointSeqNum":-1}],"language":"en-us"}}

数据表单浏览器和Android studio一样:

{"issues":[{"message":"Trace is empty"},{"message":"Request id: acfb191d-5bf8-47a0-b69a-19922ed1f0a2"}],"error_id":"acfb191d-5bf8-47a0-b69a-19922ed1f0a2","response_code":"400 Bad Request"}

请帮忙。为什么它不起作用?此外,我希望在从当前位置行驶时接收速度限制。

标签: javaandroidpostmanokhttp

解决方案


推荐阅读