Как отправить файл json по почте, используя ajax на контроллер Java-весны, где я использую API - PullRequest
0 голосов
/ 01 апреля 2019

Я пытался отправить файл json по почте из ajax на мой контроллер, где я использую API, но я не могу получить ответ

это мой скрипт, где у меня есть jsonObjects

var jsonObjects = {
        "vehicle": {
            "id": "272",
            "year": "2017",
            "marketValue": {
                "amount": 345000,
                "currency": "MXN"
            }
        },
        "downPayment": {
            "amount": 34500,
            "currency": "MXN"
        },
        "installmentPlanTerms": {
            "number": "36",
            "frequency": "MONTHLY"
        },
        "casualtyInsurance": true,
        "lifeInsurance": false
    }; 

это мой ajax, где я включаю URL моего контроллера

$.ajax({
    type: 'post',
    url: '/vehicle/cotizar',
    data: JSON.stringify(jsonObjects),
    contentType: "application/json; charset=utf-8",
    traditional: true,
    success: function (data) {
       //document.log(data.data.requestedAmount.amount);
    }
});

это мой контроллер в Java Spring

@RequestMapping(value="/vehicle/cotizar")
    public String options(){
        HttpHeaders headers = new HttpHeaders();
        String token = "some key";
        headers.set("Authorization","jwt ".concat(token));
        headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON));
        HttpEntity<String> entity = new HttpEntity<String>(headers);
        return restTemplate.exchange("https://apis.bbvabancomer.com/loans_sbx/v1/options-installment", HttpMethod.POST, entity, String.class).getBody();
    }

я надеюсь, что контроллер вернет мне результат json, который я сделал через ajax как вы можете видеть на изображении, я использую почтальон, где я отправляю json-файл по почте в api, и api возвращает мне ответ

1 Ответ

0 голосов
/ 02 апреля 2019

Я уже разрешил это в моем контроллере, мне пришлось изменить это

@RequestMapping(value="/vehicle/cotizar", method = RequestMethod.POST)
@ResponseBody
public String performLogin(@RequestBody String json, HttpServletRequest request, HttpServletResponse response) {
    HttpHeaders headers = new HttpHeaders();
    log.info("debugeo".concat(json));
    String token ="some key";
    headers.set("Authorization","jwt ".concat(token));
    //headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON));
    String a ="Content-Type";
    String b = "application/json";
    headers.set(a,b);
    HttpEntity<String> entity = new HttpEntity<String>(json,headers);
    log.info("con entity prueba".concat(entity.getBody()));
    return restTemplate.exchange("https://apis.bbvabancomer.com/loans_sbx/v1/options-installment", HttpMethod.POST, entity, String.class).getBody();
}

, и я получил ответ обратно 1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...