Server-Side Swift Vaporでmultipart/formdataのリクエストを投げる方法

Last Updated on 2023年10月20日 by lemonade

CloudflareのAPIでmultipart/formdataの形式でリクエストを投げないといけない時にどうやるのか迷ったのでその備忘録

import Vapor

func routes(_ app: Application) throws {

    struct RequestContent: Content {
        var hello: String
    }

    struct ResponseContent: Content {
        var message: String
    }

    app.get { req async throws -> ResponseContent in
        let reqContent = RequestContent(hello: "World")
        let response = try await req.client.post("https://localhost:22222") { req in
            try req.content.encode(reqContent, as: .formData)
        }
        return try response.content.decode(ResponseContent.self)
    }
}

Leave a Comment

CAPTCHA