javascript - 如何使用 ajax 通过 post 将 json 文件发送到我正在使用 api 的 java spring 控制器
问题描述
我一直在尝试通过 ajax 的 post 发送一个 json 文件到我正在使用 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();
}
我希望控制器返回我通过 ajax 执行的 json 结果, 正如您在图像中看到的那样,我正在使用邮递员,我通过 post 向 api 发送 json 文件,api 向我返回答案
解决方案
我已经在我的控制器中解决了它我不得不修改它
@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
推荐阅读
- python - 使用列表循环将变量添加到元组
- c# - 如何根据另一个列表中的表单顺序对列表进行排序
- mysql - 错误:“选择对于此服务器版本无效,应为:'(', WITH”
- python - Python,从上级目录导入将不起作用
- python - 如何打开请求会话?
- mysql - 如何编写 SQL 查询来计算每个用户的平均每日广告展示次数?
- python - Python 重构 - 多个类中的冗余函数
- google-analytics - 为什么 Google Analytics(分析)中的主页和受众概览之间的用户数不同?
- react-native - ReferenceError:找不到变量:nativeFabricUIManager
- mysql - TextField Django 的默认最大长度是多少?