[英]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.