我有一个这样的 API 路由器。我使用 Alamofire 5.0 编写过:
import Alamofire
enum AlamofireRouterNetwork: URLRequestConvertible {
case register(parameters: Parameters)
case login(parameters: Parameters)
// other cases
var method: HTTPMethod {
switch self {
case .register:
return .post
case .login:
return .post
}
}
var path: String {
switch self {
case .register:
return "/auth/register"
case .login:
return "/auth/login"
}
func asURLRequest() throws -> URLRequest {
var urlRequest = URLRequest(url: myURL)
urlRequest.httpMethod = method.rawValue
switch self {
case .register, .login:
urlRequest.allHTTPHeaderFields = ["Content-Type": "application/json"]
}
switch self {
case .register(let parameters), .login(let parameters):
urlRequest = try JSONEncoding.default.encode(urlRequest, with: parameters)
default:
break
}
return urlRequest
}
}
有没有一种聪明的方法可以在我的路由器中添加多部分数据请求?