簡體   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