繁体   English   中英

从Angular到Spring Rest API的POST请求

[英]POST request from angular to spring rest api

我已经在Spring Bboot中创建了一个REST API,并在Angular 4中创建了一个客户端应用程序。我正在本地运行这两个应用程序。 当我从postman测试POST方法时,它运行良好,但是,当我从Angular 4应用发出POST请求时,结果为400 Bad request REST API在控制台上显示以下错误,如下所示:

Failed to read HTTP message: org.springframework.http.converter.HttpMessageNotReadableException: Required request body is missing

REST API具有以下POST方法:

@CrossOrigin(origins = "*")
    @RequestMapping(value="/api/newcustomer", method=RequestMethod.POST, consumes= "application/json")
    public Customer addCustomer(@RequestBody Customer customer){
        System.out.println("***********"+customer.getFirstName());
        return customer;
    }

Angular服务

@Injectable()
export class PostdataService {

  constructor(private _http : Http) {}

  postContactFormData(firstName, lastName, accounts, phoneNumber){
    var body : {firstName , lastName, accounts, phoneNumber};
    var headers = new Headers({ 'Content-Type': 'application/json' });
    return this._http.post('http://localhost:8080/api/newcustomer/', JSON.stringify(body),{
        headers : headers
    }).subscribe(
        () =>{},
        err => console.error(err)
    );
  }

}

Customer

public class Customer {

     private String firstName;
     private String lastName;
     private String phoneNumber;
     private List<Account> accounts;

     public Customer(){

     }

通过诸如lintlint.com之类的linter运行您的请求正文。

您尝试分类的请求无效json {firstName , lastName, accounts, phoneNumber}应该是这样的:

{"firstName": "firstName", "lastName": "lastName", "accounts": [1, 2, 3], "phoneNumber": 1.800.123.4567}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM