通过docker用.netcore进行API调用

时间:2019-06-07 13:19:02

标签: rest asp.net-core asp.net-core-mvc

.net-core和docker是我的新手。我要在这里解释的问题有点棘手,但是如果您有任何类型的问题,请一定要问我,我会更清楚地解释。

因此,我在本地主机上运行了一个whatsapp商业api的docker容器,如Whatsapp Business Api Documentation中所述。

我已经从Whatsapp Business Postman Collection下载了Whatsapp Business Api的Postman Collection。

一切似乎都正常。但是现在我想用.net-core调用这些预构建的api并获取响应。因为我找不到任何好的东西,或者作为新手,所以我很难理解。因此,对于某些知识,我想知道如何调用它们并获得有效的响应。例如,以管理员登录的发布请求为例

API:
{{URL}}/v1/users/login
Authorization -> (Basic Auth)
username: admin
password: ****
RESPONSE:
{
    "users": [
        {
            "token": "eyJhbGciOiAiSFMyNTYiLCAidHlwIjogIkpXVCJ9.eyJ1c2VyIjoiYWRtaW4iLCJpYXQiOjE1NTk5MTE1NTUsImV4cCI6MTU2MDUxNjM1NSwid2E6cmFuZCI6LTQxMzgyNDE0MjYwMDI5NjA1OTl9.PYAhEilXX3GDhRo0O-M0V0aXWfL5THJkG65LfIesxh4",
            "expires_after": "2019-06-14 12:45:55+00:00"
        }
    ],
    "meta": {
        "version": "v2.23.4",
        "api_status": "stable"
    }
}

有关图片的更多说明,请参见下面的请求和响应链接。

The Login Authentication UI Image

The Login Authentication Postman Image

The Login Authentication Response New Password UI Image

The Login Authentication Response Postman Image

现在,有了此令牌,我可以通过其他api调用创建更多用户。 我该如何调用这样的api并获得带有令牌的响应,并将该令牌用于更多功能或通过.netcore进行api调用。

谢谢。

1 个答案:

答案 0 :(得分:1)

您的问题非常广泛,但总的来说,您想创建一个服务类,在其中注入类型化的HttpClient实例(请参阅:https://docs.microsoft.com/en-us/aspnet/core/fundamentals/http-requests?view=aspnetcore-2.2#typed-clients)。

令牌可以存储在该服务类的私有字段或属性中。然后,只需在服务类中创建诸如GetTokenAsync之类的私有方法,即可从该字段中获取值,或者如果该值为null,则调用API来获取它。然后,所有其他方法将调用GetTokenAsync以获取所需的令牌,并进行自己的调用。最后,在需要的地方插入服务类。