Spring boot Spring Boot中的转储实体

Spring boot Spring Boot中的转储实体,spring-boot,jpa,kotlin,Spring Boot,Jpa,Kotlin,我正在将Spring Boot与Kotlin一起使用,希望将实体转储到浏览器 Entities.kt: HtmlController.kt: 在我的索引模板中,我可以通过{cats}{/cats}循环遍历cats,但我想将整个批次转储出去,例如,查看可用的关系。可能吗?我试图修改上面的控制器以返回respository.findAll.toString,但这给了我错误: 出现意外错误类型=未找到,状态=404 当从控制器返回字符串时,SpringMVC将假定您指向一个视图文件。因此,它将在某个配

我正在将Spring Boot与Kotlin一起使用,希望将实体转储到浏览器

Entities.kt:

HtmlController.kt:

在我的索引模板中,我可以通过{cats}{/cats}循环遍历cats,但我想将整个批次转储出去,例如,查看可用的关系。可能吗?我试图修改上面的控制器以返回respository.findAll.toString,但这给了我错误:

出现意外错误类型=未找到,状态=404

当从控制器返回字符串时,SpringMVC将假定您指向一个视图文件。因此,它将在某个配置的文件夹中查找文件,其中文件名是猫列表的字符串表示形式。当然,这是不存在的,你会得到一个404

最简单的方法是创建一个REST样式的端点,并以合适的数据格式返回数据,例如json。我的例子是Java,但您可以转换为Kotlin:

@RestController
public class CatRestController {

    @Autowired
    private CatRepository repository;

    @RequestMapping(path = "/cats", method = RequestMethod.GET)
    public List<Cat> getAllCats() {
        return repository.findAll();
    }
}
SpringBoot应该自动将列表转换为json。如果移动到现有的SpringMVC控制器,该方法可能会起作用,但我还没有测试。我有一个来自常规Spring MVC项目而非Spring Boot的示例,方法签名如下所示:

@RequestMapping("/cats.json")
public @ResponseBody List<Cat> getCats() {

另一个技巧:使用浏览器插件将json转换为打印精美的json:
@RestController
public class CatRestController {

    @Autowired
    private CatRepository repository;

    @RequestMapping(path = "/cats", method = RequestMethod.GET)
    public List<Cat> getAllCats() {
        return repository.findAll();
    }
}
@RequestMapping("/cats.json")
public @ResponseBody List<Cat> getCats() {