春ブーツ - @RequestBodyは、JavaオブジェクトにJSONをマッピングしていません

コンパイラV2:

私は、私のPOJOに投稿のメソッド本体からの私のJSONに変換することができません@RequestBody私のコントローラクラスの内部。

私は、エラーをデバッグし、私は特定のフィールドをマッピングし、他の人がいないであったことがわかりました。このような(POJO)

name: null, typeOfPlan: null, Email: [email protected], PhoneNum: 123456789, Website: test.org, Username: null, password: 1234、奇妙です。

JSON:

{
    "confirmPassword": "1234",
    "email": "[email protected]",
    "password": "1234",
    "phoneNum": "123456789",
    "name": "Hello world",
    "typeOfPlan": "Test",
    "userName": "user",
    "website": "test.org"
}

コントローラ

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class SomeController {

    @Autowired
    private Service foo;

    @CrossOrigin
    @PostMapping(value = "/create")
    private void createAccount(@RequestBody BigFoo bigFoo) {
        foo.createAccount(bigFoo);
    }
}

ここから、私は私のサービス、そしてDAOクラスを呼び出します。

POJO

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

@Getter
@Setter
@NoArgsConstructor
@JsonIgnoreProperties(ignoreUnknown = true)
public class BigFoo {

    private String name;
    private String typeOfPlan;
    private String email;
    private String website;
    private String phoneNum;
    private String username;
    private String password;
}

私はまたしてJSONを許可しようとしたconsumes media type@PostMapping、それはそれはこの問題を解決できませんでした。

ジャクソンObjectMapperを使用すると、同様に動作しませんでした。

コンパイラV2:

:私の問題は簡単だった私の春ブーツのアプリにデータを送信し、私の角度のプロジェクトで私の変数は、スペルが間違ったので、私のバックエンドアプリケーションによって認識されなかったので、正しく私のPOJOにマッピングされていませんでした。


私は私のPOJOの変数を一致させるために私のフロントエンドのフォーム変数を変更した後、私はこれを得ました:

POJOデータ

name: It's good now, typeOfPlan: 2 Year, Email: [email protected], PhoneNum: 123456789, Website: test.org, Username: Master, password: 1234

春ブーツはマップできませんでしたnametypeOfPlanUsername彼らは単に私のバックエンドでのものと一致しませんでしたので、JSONから。


Name, typeOfPlan, userName

後に

name, type, username

皆さんありがとう!

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=228624&siteId=1