AngularJS POST 400 错误请求

AngularJS POST 400 bad request

我正在尝试从 Angular 控制器执行 POST,当我的 Java RestController 不需要参数(即下面 save 的签名时,它会工作只是 save()),但是一旦我告诉它期望一个参数并尝试在 Angular 中的 POST 请求中发送它,它就会失败并返回 400 Bad Request。是否需要做些什么才能从 Angular POST 正确发送数据?

@RestController
@RequestMapping("/person")
public class PersonController {

    @RequestMapping(method = RequestMethod.POST)
    public Person save(@RequestParam Long personnelId) {
        System.out.println("SUCCESSFULLY POSTED");
        return null;
    }
}

POST请求:

$http({
    url: 'http://localhost:8080/person',
    method: 'POST',
    data: {personnelId: 4}
}).success(function() {
    // do something on success    
});

这将通过服务器端的 Spring 安全和休眠,如果相关的话。

您可能需要在 angular POST 中将您的内容类型设置为 application/json。

$http({
    url: 'http://localhost:8080/person',
    method: 'POST',
    contentType: "application/json",
    data: {personnelId: 4}
}).success(function() {
    // do something on success    
});

我猜是因为我还没有真正使用过 Spring。还要检查

aconkey

您是否尝试过映射您的参数名称? @RequestParam(value="personnelId") Long personalId

您是否配置了任何 CORS?