首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在Vapor 3中进行第三方api调用?

如何在Vapor 3中进行第三方api调用?
EN

Stack Overflow用户
提问于 2019-04-10 05:45:38
回答 1查看 1.1K关注 0票数 7

我想用Vapor 3中的一些参数进行post调用。

代码语言:javascript
代码运行次数:0
运行
复制
POST: http://www.example.com/example/post/request

title: How to make api call
year: 2019

可以使用哪个包/函数?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-10 06:04:59

这很简单,您可以像这样使用Client来完成此操作

代码语言:javascript
代码运行次数:0
运行
复制
func thirdPartyApiCall(on req: Request) throws -> Future<Response> {
    let client = try req.client()
    struct SomePayload: Content {
        let title: String
        let year: Int
    }
    return client.post("http://www.example.com/example/post/request", beforeSend: { req in
        let payload = SomePayload(title: "How to make api call", year: 2019)
        try req.content.encode(payload, as: .json)
    })
}

或者例如在boot.swift中像这样

代码语言:javascript
代码运行次数:0
运行
复制
/// Called after your application has initialized.
public func boot(_ app: Application) throws {    
    let client = try app.client()
    struct SomePayload: Content {
        let title: String
        let year: Int
    }
    let _: Future<Void> = client.post("http://www.example.com/example/post/request", beforeSend: { req in
        let payload = SomePayload(title: "How to make api call", year: 2019)
        try req.content.encode(payload, as: .json)
    }).map { response in
        print(response.http.status)
    }
}
票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55601797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档