2017-01-26 4 views
1

다른 웹 서비스에서 데이터를 가져 오려고 시도한 다음 변환하여 반환합니다. 문서에서 Spotify 예제를 발견했지만 JSON의 일부를 반환하는 방법을 모르겠습니다.Vapor`client.get`, 변환 및 json 반환

답변

2

귀하의 result.dataerror: return expression of type '[Polymorphic]?' does not conform to 'ResponseRepresentable' 아무것도 될 수 Content입니다 : 내가 빌드 할 때

drop.get("music") { request in 
    guard let query = request.data["q"]?.string else { 
     throw Abort.badRequest 
    } 

    let result = try drop.client.get(
     "https://api.spotify.com/v1/search", 
     query: ["type": "artist", "q": query] 
    ) 

    return result.data["artists"]?.array 
} 

는이 오류를 받고 있어요. 먼저 JSON인지 확인한 다음 반환 할 수 있습니다.

drop.get("music") { request in 
    guard let query = request.data["q"]?.string else { 
     throw Abort.badRequest 
    } 

    let result = try drop.client.get(
     "https://api.spotify.com/v1/search", 
     query: ["type": "artist", "q": query] 
    ) 

    guard 
     result.status == .ok, 
     let artistsJson = result.data["artists"] as? JSON 
    else { 
     throw Abort.serverError 
    } 

    return artistsJson 
} 
+0

감사합니다. – keegan3d