9. Apikit ?? Decodable へapi周りを変えた
class func recommendList(_ filterString: String, pageIndex: String, lat: Double?, lng: Double?) {
var para = Json()
let sportIds = Sport.allFavorited()
if let cityID = City.getCityId() {
para.update(["city_id": cityID])
} else {
if let city = User.me()?.city {
para.update(["city_id": city.id]
}
}
if let lat = lat, let lng = lng {
para.update(["lat": lat, "lng": lng])
}
● リクエストの直前にリクエストの内容変えたりできる
10. Apikit ?? Decodable へapi周りを変えた
struct EventRecommendGetRequest: APIRequest {
let type: EventRecommendType // リクエストに必要な情報たち
let cityId: Int
let sportIds: [Int]
let page: Int
let lat: Double?
let lng: Double?
let apiToken: String?
typealias Response = EventRecommendGetResponse
let method: APIKit.HTTPMethod = .get
var path: String {
return "/v2/me/event/recommend"}
}
var queryParameters: [String : Any] = ["city_id": cityId,"type": type.value,"page": page]
}
● リクエストとレスポンスをしっかり定義できる
11. Apikit ?? Decodable へapi周りを変えた
struct EventEntity: Decodable {
let title:String <-必須項目 if let いらないから使いやすい
let user:UserEntity //募集者
/// 参加者 募集者も入ってる
let users:[UserEntity]
let id:Int
// 施設
let facility:FacilityEntity?
// 位置情報
let meetingPlaceLat:Double? <-任意項目 null判定必要
let meetingPlaceLng:Double?
}
● リクエストとレスポンスをしっかり定義できる