javascript - 在 ajax get-method Javascript 中发送对象

标签 javascript java ajax spring-rest

我正在尝试使用此休息方法从数据库接收用户对象:

@RestController
@RequestMapping("/rest/users")
public class UserRestController {

    @Autowired
    private UserService service;

@RequestMapping(method = RequestMethod.GET)
 public Collection<User> getAllUsers(@RequestBody(required = false) User user) throws BadHttpRequest {
        System.out.println(user);//ALWAYS RETURNING NULL :(
        if (user == null) {
            return service.getAllUsers(); //Always returns this!
        } else if (user.getUserId() == null) {
            return Collections.singletonList(service.getUserByEmail(user.getUsername()));//I  want this
        } else if(user.getUsername() == null){
            return Collections.singletonList(service.getUserById(user.getUserId()));
        }else{
            throw new BadHttpRequest(new Exception("User id/email mismatch"));
        }
    }

我使用这个 JavaScript:

var user = [{ "username": "fms7@hotmail.no", "userId": 1}];

$.ajax({
    type: "get",
    url: "/rest/users/",
    data: JSON.stringify({ User: user }),
    success: function(data){alert(data);},
    error: function(errMsg) {
        alert("bais");
    }
});

有人知道我做错了什么吗?

最佳答案

我认为这会造成问题。

data: JSON.stringify({ User: user })

您应该将其更改为:

data: { User:JSON.stringify(user) }

希望有帮助。

关于javascript - 在 ajax get-method Javascript 中发送对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34900268/

相关文章:

javascript - 我可以使用JavaScript删除ASP.NET身份验证cookie(.ASPXAUTH)吗?

java - 如何使用@csvsource更改junit参数化测试的csvparsersettings

javascript - 为什么当我使用 XMLHttpRequest 发送 GET 请求时,我得到两个 readyState 1?

javascript - 使用ajax提交multipart/form-data时,文件为空

java - ant 和 java 的 Windows 类路径问题

javascript - 将 $_GET 值传递给加载 jquery 的网页

javascript - Screeps - 按 1 范围内的来源过滤容器(容器挖掘)

javascript - 如何在 JavaScript 字符串替换中否定匹配正则表达式?

javascript - jQuery 在验证时触发转换

javascript - 我在哪里可以下载用于 Java 7 的 rt.jar?