【发布时间】:2021-11-23 07:51:11
【问题描述】:
我是 Spring Framework 的新手,目前正在尝试开发一个简单的应用程序,餐厅老板可以通过登录并将菜肴数据输入 Html 表单(使用 Thymeleaf)将菜肴添加到主数据库。 (菜名、价格、无麸质 = 真实等)
应用用户应该能够根据他们的位置和饮食要求等搜索主数据库。
我正在尝试通过 Youtube 教程学习,但是,它们似乎都使用 @RestController 和 @Requestbody 并使用 Postman 发送 JSON 请求。我很难将其适应我的 Html 表单。
我已经将@controller 注释用于简单的“保存”方法,但是当我研究“如何在添加到数据库的数据中包含外键”时(即在“菜”中包含“餐厅 ID”作为外键' 类),所有教程都在 Postman 中使用 @RequestController 和 JSON 请求。
当我试图构建一个可用的应用程序时,在 Postman 中发送请求似乎不是一个好的解决方案。
根据其他帖子,我认为我遇到的问题如下:
"If you use template engine like Thymeleaf it will not work with @RestController because of @ResponseBody which included in this annotation" – Sonique
"@ResponseBody makes the returned objects to something that could be in the body, e.g. JSON or XML" – Martin Thoma
我尝试删除 @RequestBody 并将其更改为 @RequestParam,但出现错误。
我的问题有什么解决方法吗?例如。为“添加新菜”表单使用不同的文件格式还是不使用 Thymeleaf?
任何帮助/建议将不胜感激!
【问题讨论】:
-
您可能正在寻找
@ModelAttribute,它是@RequestBody的等效形式编码(以JSON 或XML 形式发布)。 -
@chrylis-cautiouslyoptimistic- 谢谢!我现在明白其中的区别了!
标签: java html spring-data-jpa thymeleaf crud