我有一个简单的Spring Boot Web应用程序。我正在尝试从服务器接收一些数据。 Controller返回一个集合,但浏览器收到空的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;
}
}
该方法触发,浏览器显示:
控制台中没有更多内容。有什么想法吗?
编辑: 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(){
}
}
答案 0 :(得分:5)
我认为你应该使用Lombok作为类级别而不是字段级别。
Url::to(['/city/view', 'id' => $this->id, 'alias' => $this->alias], $absolute)
这可以解决您的问题。
答案 1 :(得分:0)
项目中是否有转换器将JAVA对象转换为JSON。如果没有,你需要。尝试在项目中使用Jackson。
一旦Jackson jar导入项目,调度程序servlet应该在下面:
<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>
答案 2 :(得分:-1)
尝试将@ResponseBody添加到方法签名中的REST方法的返回类型声明中。如果你使用的是标准的Spring Boot入门项目,那应该这样做。