Получение ошибки «Неверное значение по ошибке« адрес »при попытке вызвать API Validation Addration Addration GoogleJAVA

Программисты JAVA общаются здесь
Anonymous
Получение ошибки «Неверное значение по ошибке« адрес »при попытке вызвать API Validation Addration Addration Google

Сообщение Anonymous »

Я пытаюсь создать валидатор адреса для веб -приложения, используя Java с GSON, и я не могу доставить вызов API на карты Google, чтобы выполнить действительнее. Вот что у меня есть для контроллера: < /p>

Код: Выделить всё

@RestController
public class AddressController {
@GetMapping("/AddressChecker")
public ModelAndView addressChecker() throws URISyntaxException, IOException, InterruptedException, JSONException {
ModelAndView addressChecker = new ModelAndView("/Address/AddressChecker");

GoogleAddress googleAddress = new GoogleAddress();
googleAddress.setAddress_url("Address Line 1", "Postal Code");
Gson gson = new Gson();
String jsonRequest = gson.toJson(googleAddress);

HttpRequest postRequest = HttpRequest.newBuilder()
.uri(new URI("https://addressvalidation.googleapis.com/v1:validateAddress"))
.header("Authorization", Constants.API_Key)
.POST(HttpRequest.BodyPublishers.ofString(jsonRequest))
.build();

HttpClient httpClient = HttpClient.newHttpClient();
HttpResponse postResponse = httpClient.send(postRequest, HttpResponse.BodyHandlers.ofString());

addressChecker.addObject("postResponse", postResponse.body());
return addressChecker;
}
}
< /code>
и модель: < /p>
public class GoogleAddress {
public GoogleAddress() {
}

private String address;

public String getAddress_url() {
return address;
}

public void setAddress_url(String address, String postCode) throws JSONException {
JSONObject json = new JSONObject();
JSONObject array = new JSONObject();
ArrayList addressLineString = new ArrayList();
addressLineString.add(address);
array.put("addressLines", addressLineString);
array.put("postCode", postCode);
json.put("address", array);
this.address = String.valueOf(json);
}
}
< /code>
Я был в документации и видел, что он ожидает следующего JSON в теле:
{"адрес": {"postalCode": 12345, "Addresslines": ["1600 Amphitheater pkwy"]} < /p>
Я не уверен в том, что вызывает это ошибку, но вернуть, но это вернуть, но вернуть, но это вернуть, но это вернуть, но это вернуть, но это вернуть, но это вернуть, но это вернуть, но это вернуть, но это вернуть, но это вернуть, но это вернуть. />object      {1}

error       {4}

code    :   400

message :   Invalid value at 'address' (type.googleapis.com/google.type.PostalAddress), \"{\"address\":{\"postalCode\":\"12345\",\"addressLines\":\"Address Line 1]\"}}\"

status  :   INVALID_ARGUMENT

details     [1]

0       {2}

@type   :   type.googleapis.com/google.rpc.BadRequest

fieldViolations     [1]

0       {2}

field   :   address

description :   Invalid value at 'address' (type.googleapis.com/google.type.PostalAddress), \"{\"address\":{\"postalCode\":\"12345\",\"addressLines\":\"[Address Line 1]\"}}\"
Редакты: обновленный пример данных

Подробнее здесь: https://stackoverflow.com/questions/797 ... l-google-a

Вернуться в «JAVA»