Angular5シンプルプロジェクト(フロントエンド)とバックエンド(スプリングブート)で作業しています。2つのパラメーターidPersonとidProjectを使用してAPIレストに投稿リクエストを送信したいので、APIレストは選択したプロジェクトに影響を与えることができます人、私はPOSTを使用してサービスでこれを実行しようとしましたが、それは不可能です。
これはProjectService.tsのコードです
addProjToClient(idPerson:number,idProject:number){
if(this.authService.getToken()==null) {
this.authService.loadToken();
}
return this.http.post(this.Host+"/saveProjectToClient",idPerson,idProject,{headers:new HttpHeaders({'Authorization':this.authService.getToken()})});
}
Http Postで3つ以上のパラメーターを送信することはできません。httpClientを使用します。
これを行う方法に関するアイデアはありますか?
http.post
の2番目の引数は、投稿リクエストの本文です。本文に両方の値を入れて、サーバーの本文から取り出すだけです。
return this.http.post(this.Host+"/saveProjectToClient", {
idPerson,
idProject,
}, {
headers:new HttpHeaders({
'Authorization': this.authService.getToken()
})
});
サーバー上(Springboot)
public class Dto {
private String idPerson;
private String idProject;
}
@Controller
@RequestMapping("/")
public class ExampleController {
@PostMapping("/saveProjectToClient")
public ResponseEntity postController(@RequestBody Dto dto) {
System.out.print("Person Id was: ");
System.out.println(dto.idPerson);
System.out.print("Project Id was: ");
System.out.println(dto.idProject);
return ResponseEntity.ok(HttpStatus.OK);
}
}
Jsonオブジェクトにすべてのパラメーターを追加します。例:{ idPerson: 'personId', idProject: 'projectId'}
を2番目のパラメータとして