【问题标题】:Spring Boot, How to send JSON data to a actual web-api and fetch JSON responseSpring Boot,如何将 JSON 数据发送到实际的 web-api 并获取 JSON 响应
【发布时间】:2018-10-31 02:40:30
【问题描述】:

我正在开发一个 Spring Boot Web 应用程序。我有一个指向实际工作 Web API 的链接。例如“www.testexample.com/api/login”。

此 API 需要几个以 JSON 形式编写的后置参数。例如:

{
"​email​"​:​​ ​​"test@test.com"
"​password​"​:​​ ​​"123ABC"
}

发送上述 JSON 值后,API 返回响应。

{
"token​"​:​"123456789"​,
"status​"​:​​ ​​"APPROVED"
}

在 Postman 上做这些很容易,但是如何将这个逻辑转移到 Web 应用程序中呢?

所以在 Spring Boot 中:

  • 如何将 JSON 值发布到此 API 链接?

  • 如果我只使用“POST”方法,如何获取响应 JSON 数据?

  • 另外,我怎样才能在屏幕上显示这些响应参数?

您能帮我提供示例代码或只是一个简单的想法吗?或者信息链接也可以!

非常感谢。

【问题讨论】:

    标签: json spring rest spring-mvc spring-boot


    【解决方案1】:

    在客户端,您可以通过 ajax 模拟向您的登录 url 提交普通表单。例如,在 jQuery 中

        <form id="loginForm">
        <table>
        <tr>
        <td>Emai</td>
        <td><input type="text" name="email"></td>
        </tr>
        <tr>
        <td>Password</td>
        <td><input type="password" name="password"></td>
        </tr>
        <tr>
        <td></td>
        <td><input type="button" value="login" onclick="Login()"/></td>
        </tr>
        </table>
        </form>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
        <script>
           var Login = function(){
             $.ajax({
                url: "api/v1/login",// your api url
                type: "POST",
                data: $("#loginForm").serialize(),
                success: function(result) {
                  console.log(result);//your API response.
                }
             });
           }
        </script>

    【讨论】:

    • 出现错误:( 无法加载“mycustomurl”:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许访问源“localhost:8080”。响应的 HTTP 状态代码为 500。@sudhir 当我尝试修复它时,它变得更加复杂。你碰巧知道我该如何解决这个问题吗?
    • 运行此命令“chrome.exe --user-data-dir="C:/Chrome dev session" --disable-web-security”。现在工作得很好,但我想知道它会不会像 Heroku 一样工作?也谢谢你的回答,你是最棒的!如果可以的话,我想问你另一个问题。我需要保存“令牌”并将其用作我将进行的其他调用的标头参数。如果你能告诉我如何做这两件事,我会很高兴。
    猜你喜欢
    • 1970-01-01
    • 2013-06-13
    • 1970-01-01
    • 1970-01-01
    • 2017-04-07
    • 1970-01-01
    • 1970-01-01
    • 2019-03-19
    • 2016-08-28
    相关资源
    最近更新 更多