Swiftpack.co - RakuyoKit/RaAPIWrapper as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by RakuyoKit.
RakuyoKit/RaAPIWrapper 1.2.2
🍯 Use @propertyWrapper to provide the necessary data for network requests in a more aggregated form.
⭐️ 13
πŸ•“ 4 weeks ago
iOS macOS watchOS tvOS
.package(url: "https://github.com/RakuyoKit/RaAPIWrapper.git", from: "1.2.2")



RaAPIWrapper uses @propertyWrapper to achieve a similar effect to that of defining network requests in the Android Retrofit library.

When you have a large number of network request apis in the same file RaAPIWrapper can help you define each request in a more aggregated form, so you don't have to jump back and forth within the file.

Say it before

Special Note! : RaAPIWrapper is just a syntactic sugar for defining web requests. You need to use Alamofire, Moya, other third-party web framework or call URLSession directly to initiate web requests on this basis.

The good thing is that you can easily integrate RaAPIWrapper into your existing project with few or no code changes, and RaAPIWrapper can coexist very well with the existing web framework in your project.


  • iOS 12、macOS 10.14、watchOS 5.0、tvOS 12 or later.
  • Xcode 14 or later required.
  • Swift 5.7 or later required.


static var noParamAPI: APIParameterBuilder<()>? = nil

static var tupleParamAPI: APIParameterBuilder<(id: Int, name: String?)>? = .init {
    // `Dictionary` and `Array` can be used directly as parameters.
    ["id": $0.id, "name": $0.name]

static var postWithModel: APIParameterBuilder<Arg>? = .init {
    // When the parameter `Arg` complies with the `APIParameter` (`Encodable & Hashable`) protocol, 
    // it can be used directly as a parameter.



pod 'RaAPIWrapper'

If your project relies on Alamofire, then you may also consider relying on RaAPIWrapper/AF. This module provides a wrapper for ParameterEncoding.

Swift Package Manager

Or add the following to your Package.swift file:

dependencies: [
    url: "https://github.com/RakuyoKit/RaAPIWrapper.git", 
    .upToNextMajor(from: "1.2.2")


Please refer to the example in Demo.playground.

Since playground depends on RaAPIWrapper in the form of Swift Package Manager, please open the project via Package.swift first, then select Demo.playground from the left navigation bar and run the content.


RaAPIWrapper is available under the MIT license. For more information, see LICENSE.


Stars: 13
Last commit: 4 weeks ago
Advertisement: IndiePitcher.com - Cold Email Software for Startups


Release Notes

1.2.2 - PrivacyInfo
4 weeks ago


  • Add PrivacyInfo.xcprivacy.


  • [Break] Minimum version supported by the promotion project: iOS 12、macOS 10.14、watchOS 5.0、tvOS 12 or later.
  • Support visionOS.


  • Fix SPM dependency error.
  • Package.swift supports wider Swift versions.

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics