@RequestBody não mapeamento JSON para objeto Java - Spring Bota

Compiler v2:

Eu sou incapaz de converter meu JSON do corpo do método de pós em minha POJO, com @RequestBodydentro da minha classe de controlador.

Eu depurado o erro e eu vi que alguns campos foram mapeados e outras não. Como este (POJO) :

name: null, typeOfPlan: null, Email: [email protected], PhoneNum: 123456789, Website: test.org, Username: null, password: 1234, O que é estranho.

JSON:

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

Controlador

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);
    }
}

A partir daqui, eu chamo o meu serviço, então classes 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;
}

Eu também tentei para permitir JSON com consumes media typeno @PostMapping, mas não conseguiu que resolver isso.

Usando Jackson ObjectMapper não funcionar tão bem.

Compiler v2:

Meu problema era simples: os meus variáveis em meu projeto Angular, enviando os dados para o meu Primavera Bota aplicativo foram mal escrito, e, portanto, não foram reconhecidos pelo meu aplicativo backend e, portanto, não foram mapeados para o meu POJO corretamente.


Depois eu mudei minha forma de frontend variáveis ​​para combinar variáveis ​​meus do POJO, eu tenho este:

dados POJO

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

Primavera Bota não conseguiu mapear name, typeOfPlane Usernamedo JSON porque eles simplesmente não se encontraram os de minha backend.


Antes

Name, typeOfPlan, userName

Depois de

name, type, username

Obrigado a todos!

Acho que você gosta

Origin http://43.154.161.224:23101/article/api/json?id=228623&siteId=1
Recomendado
Clasificación