Подтвердить что ты не робот

Spring REST Controller возвращает JSON с пустыми данными

У меня есть простое веб-приложение Spring Boot. Я пытаюсь получить некоторые данные с сервера. Контроллер возвращает коллекцию, но браузер получает пустой JSON - количество фигурных скобок равно количеству объектов с сервера, но его содержимое пусто.

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

Метод запускается, и браузер показывает:

enter image description here

Больше ничего в консоли. Есть идеи?

ОБНОВЛЕНИЕ: 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(){

    }
}
4b9b3361

Ответ 1

Я думаю, что вы должны использовать Lombok в качестве уровня класса вместо уровня поля.

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

Это может решить вашу проблему.

Ответ 2

У вас есть конвертер в проекте, который преобразует JAVA-объекты в JSON. Если нет, вам нужно. Попробуйте использовать Jackson в своем проекте.

Как только банки Jackson импортируются в проект, сервлет диспетчера должен быть ниже:

    <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>

Ответ 3

Попробуйте добавить @ResponseBody к объявлению типа возвращаемого метода метода REST в сигнатуре метода. Это должно быть сделано, если вы используете стандартный проект загрузки Spring.