2017-07-19 34 views
0

を受け取ることはできませんが、バックエンドはPARAMTERにangular2 HTTP POSTリクエストは、私は、単純なhttpリクエストを投稿したいパラメータ

export class AppComponent { 
    isMenuCollapsed$:Observable<boolean>; 

    constructor(private store:Store<reducers.State>,private http:Http) { 

    this.isMenuCollapsed$ = this.store.select(reducers.getIsCollapsed); 
    let body: URLSearchParams = new URLSearchParams(); 

    body.set('username', 'admin'); 
    body.set('password', 'admin'); 
    let head = new Headers({ 
     'Content-Type': 'application/json' 
    }); 
    http.post('api/user/auth',body).subscribe(v => console.log(v)); 
    } 
} 

を受け取ることができない、これは私のバックエンドのコードです:私が使用している場合

@RestController 
@RequestMapping("/user") 
public class TestController { 

    @GetMapping("/get") 
    public String test(){ 
     return "hello"; 
    } 

    @PostMapping("/auth") 
    public String auth(HttpServletRequest request){ 
     return "username:" + request.getParameter("username") + 
       "|password:" + request.getParameter("password"); 
    } 
} 

それが働いていた通常の方法:

enter image description here

が、私はanguを使用lar http、nullを返す enter image description here

だから私は誰かが私を助けてくれることを祈っています!

+0

オブジェクトを投稿私は、POSTメソッドであなたがあなたの中に包まれて、応答本体を保存することになっているので、あなたのコードは、正しいとは思いません永続性のためのデータモデル。つまり、あなたの投稿では、永続性のためのオブジェクトを作成する必要があります。 –

+0

ありがとう、私はちょうどオブジェクトを投稿し、@RequestBody注釈をバックエンドコードに追加します。 。それは働いている!^_^ –

+0

あなたは私の答えを選ぶことができ、自分自身も素敵な一日を持つことができますか? :) –

答えて

0

私は代わりにgetParametersと思っています。あなたは何かを要求するために何かを使うべきです。

のような単純なオブジェクトを作成する
let body={username:"admin", password:"admin"} 

リクエストにパスする前にボディをストライ化します。あなたは、バックエンドとフロントエンドを作成する必要があり

this.http.post(...., Json.stringify(body)) 
+0

ありがとう、私はちょうどオブジェクトを投稿し、@RequestBody注釈をバックエンドコードに追加します。 。それは働いている!^_ ^ –

0

関連する問題