【问题标题】:How do I get Postman to call my Web API如何让 Postman 调用我的 Web API
【发布时间】:2017-06-10 05:49:23
【问题描述】:

我有 Chrome 插件 Postman。我只是想知道如何让 Postman 调用我的 Web API。

目前,我正在使用这个用 Javascript 编写的 AJAX 调用:

alert("Getting security token");

// Do AJAX call to get security token:
    $.ajax({
        url: [security token url],
        type: "POST",
        headers: {
            Accept: "application/json"
        },
        ContentType: "application/x-www-form-urlencoded",
        data: {
            grant_type: "password",
            username: [username],
            password: [password]
        }
    }).done(function(data)
    {
        var accessToken = data.access_token;

        alert(accessToken);

        alert("Getting json string.");

        // Now that we have access token, send it along with the request for the json string:
        $.ajax({
            // meta data sent as URL parameters:
            url: [url to get json string]
            type: "GET",
            headers: {
                Authorization: "Bearer " + accessToken // access token
            },
            contentType: false,
            processData: false
        }).done(function(data)
        {
            $("#jsonDiv").html(data);
        }).fail(function(jqXhr, textStatus, errorThrown)
        {
            alert("jqXhr = " + JSON.stringify(jqXhr));
            alert("textStatus = " + textStatus + ", errorThrown = " + errorThrown);
        });     
    }).fail(function(jqXhr, textStatus, errorThrown)
    {
        alert("jqXhr = " + JSON.stringify(jqXhr));
        alert("textStatus = " + textStatus + ", errorThrown = " + errorThrown);
    });

我必须在 Postman 中做什么才能完成类似的任务?

谢谢

【问题讨论】:

    标签: ajax api web postman


    【解决方案1】:

    有几种方法可以实现这一目标,但这里有一些步骤可以帮助您入门。创建两个 2 API:

    第一个使用 POST 方法调用“安全令牌 url”。 添加标题:

    • 接受:应用程序/json

    然后在正文下,选择 x-www-form-urlencoded,然后添加以下键(及其相应的值):

    • grant_type : 密码
    • 用户名:
    • 密码:

    在我的脑海中,我认为密码 grant_type 还需要 client_id 和 client_secret,但我在上面的代码中没有看到,所以也许你不需要它。

    如果你点击发送,你应该得到一个访问令牌。

    在您的第二个 API 中,将方法设置为 GET 并提供适当的 URL。然后在标题中添加: - 授权:不记名

    如果您想变得花哨,可以使用测试选项卡将访问令牌写入环境变量,然后在第二次调用中使用结果。 但是,您不需要为每个调用获取新的访问令牌,因此您可以继续使用相同的令牌直到它过期。

    很抱歉,如果您已经知道如何执行此操作,我无法从您的问题中看出您的专业水平。希望这会有所帮助。

    【讨论】:

    • 这是我一直在做的事情,但是当我进行第二次 API 调用时,我得到了回复:“此请求的授权已被拒绝。”这很奇怪,因为我发布的 Javascript 没有这个问题。
    • 您是否尝试过在邮递员对 API 的调用中使用在 Ajax 代码中检索到的访问令牌?当你这样做时会发生什么?
    • 是的,我使用我的访问令牌。我收到消息“此请求的授权已被拒绝。”
    • 如果您在第二次 API 调用中使用来自 Ajax 调用的令牌,则表明您的第二次 API 调用不正确。在这一点上,我建议联系 API 所有者,询问他们希望得到什么信息。
    猜你喜欢
    • 2019-04-27
    • 2021-08-25
    • 1970-01-01
    • 2022-12-28
    • 2021-08-24
    • 2021-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多