javascript - 发送数据 AJAX 到 RequestBody
问题描述
这是一件简单的事情,但因此很难。我知道它会很容易解决,但我不能轻易找到它。谢谢您的帮助。
这是我的代码:
var sample = {
query: "kakao",
x: "127.06283102249932",
y: "37.514322572335935",
radius: "20000"
};
$('#search').click(function (e) {
$.ajax({
url: "/map/search",
contentType: 'application/json; charset=utf-8',
dataType: "text",
data: JSON.stringify(sample),
success: function(data) {
console.log(data);
},
error: function(error) {
console.log(error);
}
})
});
它连接到
http://localhost:8080/map/search?{%22query%22:%22kakao%22,%22x%22:%22127.06283102249932%22,%22y%22:%2237.514322572335935%22,%22radius%22:%2220000%22}
我想发送到请求正文而不是 url 参数。这是什么问题?
编辑1
很抱歉再问问题。我解决了上述问题,又出现了新问题。我的 Spring 服务器响应我 400 Bad Request。
这是我的java源代码:
@RestController
@RequestMapping("/map")
public class MapSearchController {
@Autowired
private RestApiAccessor restApiAccessor;
@RequestMapping(method = RequestMethod.GET, value = "/search")
public MapSearchResponseDTO mapSearchRequest(@RequestBody MapSearchRequestDTO mapSearchRequestDTO) throws Exception {
if (Objects.isNull(mapSearchRequestDTO.getQuery()))
throw new IllegalAccessException("There is no Query parameter.");
return restApiAccessor.mapSearchRequestGet(mapSearchRequestDTO);
}
}
@Getter
@Setter
@ToString
public class MapSearchRequestDTO {
private String query;
private String category_group_code;
private String x;
private String y;
private Integer radius;
private String rect;
private Integer page;
private Integer size;
private String distance;
}
我的错误:
2019-06-29 16:54:31.397 WARN 99354 --- [nio-8080-exec-6] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.http.converter.HttpMessageNotReadableException: Required request body is missing: public map.search.dto.MapSearchResponseDTO map.search.controller.MapSearchController.mapSearchRequest(map.search.dto.MapSearchRequestDTO) throws java.lang.Exception]
解决方案
指定使用body
选项 - GET 默认使用查询参数。
body: JSON.stringify(sample),
推荐阅读
- kotlin - Search Widget Activity 未打开 Searchable Activity
- javascript - 应用动画删除文本
- java - 显示进度监视器以在 Eclipse Java SWT 中打开向导
- python - Python TopicRank - 自然语言处理
- c - 如何使用 Snort 创建自定义预处理器?
- excel - VBA Compile Error: Can't assign to read-only property
- php - Laravel switch case
- django - Django 并发:无法在异步函数中创建用于测试的数据?
- javascript - 如何使用 Nest.js 动态连接到 MongoDB 数据库
- reactjs - 如何检查中间件(thunk)是否正确加载?