web-dev-qa-db-fra.com

Spring REST Le contrôleur retourne JSON avec des données vides

J'ai une simple application Web Spring Boot. J'essaie de recevoir des données du serveur. Le contrôleur renvoie une collection, mais le navigateur reçoit un JSON vide - le nombre de crochets est égal au nombre d'objets du serveur, mais son contenu est vide.

@RestController
public class EmployeeController {

@Autowired
private EmployeeManagerImpl employeeManagerImpl;

    @RequestMapping(path="/employees", method = RequestMethod.GET)
    public Iterable<Employee> getAllEmployees() {
        Iterable<Employee> employeesIterable = employeeManagerImpl.getAllEmployees();
        return employeesIterable;
    }
}

La méthode se déclenche et un navigateur affiche:

enter image description here

Rien de plus dans la console. Des idées?

EDIT: Employee.Java

@Entity
public class Employee implements Serializable{

    private static final long serialVersionUID = -1723798766434132067L;

    @Id
    @Getter @Setter 
    @GeneratedValue
    private Long id;

    @Getter @Setter
    @Column(name = "first_name")
    private String firstName;

    @Getter @Setter
    @Column(name = "last_name")
    private String lastName;

    @Getter @Setter
    private BigDecimal salary;

    public Employee(){

    }
}
13
Radziasss

Je pense que vous devriez utiliser Lombok comme niveau de classe au lieu de niveau de champ.

@Entity
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor    
public class Employee implements Serializable {}

Cela peut résoudre votre problème.

7
Pedro Tavares

Avez-vous un convertisseur dans le projet qui convertit les objets Java en JSON. Sinon, vous en avez besoin. Essayez d'utiliser Jackson dans votre projet.

Une fois les pots Jackson importés dans le projet, le servlet du répartiteur devrait avoir ci-dessous:

    <beans:bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
        <beans:property name="messageConverters">
            <beans:list>
                <beans:ref bean="jsonMessageConverter" />
            </beans:list>
        </beans:property>
    </beans:bean>

    <!-- Configure bean to convert JSON to POJO and vice versa -->
    <beans:bean id="jsonMessageConverter"
        class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
    </beans:bean>
0
HARDI