首页 > 解决方案 > 如何将 json 文件从 html 发送到一个安静的 web 服务

问题描述

我最近开始学习使用 spring 框架创建 RESTful Web 服务。所有课程都使用邮递员发送请求,但我想从网页发送请求,例如创建表并firstNamelastNameHTML 文件(从视图,.jsp 文件)发送请求并将其存储在数据库中。

在我所见的任何地方,他们都说要发送到宁静端点或从宁静端点检索的标准文件是 JSON,而不是 HTML。

从我看到的@RequestBody 只接受JSON 或XML,而不是HTML 输入。

我尝试将数据从 HTML(Method = "POST") 发送到我的 RESTful Web 服务器的 @PostMapping 方法,以创建一些内容并将其存储在数据库中,但抛出了一个异常“不支持内容类型”。

我对此有很多问题,他们都指向同一件事,不了解整个事情。

  1. 当HTML不支持放置和删除请求并且每个人用来从客户端获取请求的标准文件是JSON而不是HTML时,为网站后端创建restful web服务有什么意义。
  2. 网页 (HTML) 可以生成其内容以形成从静止服务器发回的 JSON 文件吗?

  3. 如何从 HTML 文件中的输入生成 JSON 文件并将其发送到 restful @PostMapping 方法?

有两件事我应该在这里提一下,我对创建网页 (HTML) 了解不多 我只创建了非常简单的 HTML 文件来帮助我创建和测试后端服务器。在发布此问题之前,我搜索了很多问题,但没有一个对我有帮助。

标签: htmljsonrestspring-mvcspring-restcontroller

解决方案


我会尽力回答你的问题

首先,您需要了解什么是REST 表示状态转移 (REST) 是一种软件架构风格,它定义了一组用于创建 Web 服务的约束。( https://en.wikipedia.org/wiki/Representational_state_transfer ) 所以我们遵循一套标准来让事情变得更容易。

现在回到您的实际问题,为什么使用 JSON 而不是 HTML,因为它们不仅是从 HTML 中使用的,它们还被不同的应用程序或服务使用,而 json 是一种更轻量级且不那么冗长的格式,而且它也更容易阅读和编写。在大多数情况下,它非常适合通过 Internet 进行数据交换,我们可以将它与 react 、 jquery 或 vanilla javascript 等前端库一起使用,以在不更改 API 的情况下从 JSON 呈现 HTML 内容,还可以使用后端 Web 服务使用这个 API。

https://api.jquery.com/jQuery.getJSON/ https://reactjs.org/docs/faq-ajax.html

对于其他两个问题,基本上您不必生成 JSON 文件来从 HTML 调用其余 API 并在 HTML 中呈现内容相反,您可以使用 Jquery、React、Angular 等前端库或使用 vanilla javascript 来呈现内容并调用其余的 API。


推荐阅读