2
방금 Alamofire 프레임 워크로 놀고 있었고 몇 가지 API 호출을하고있었습니다. 그러나 alamofire에는 두 가지 요청 방법이 있습니다.Alamofire의 responseJSON과 responseData의 차이
Alamofire의 responseJSON과 responseData의 차이점은 무엇입니까?
public func responseData(
queue: DispatchQueue? = nil,
completionHandler: @escaping (DataResponse<Data>) -> Void)
-> Self
{
return response(
queue: queue,
responseSerializer: DataRequest.dataResponseSerializer(),
completionHandler: completionHandler
)
}
public func responseJSON(
queue: DispatchQueue? = nil,
options: JSONSerialization.ReadingOptions = .allowFragments,
completionHandler: @escaping (DataResponse<Any>) -> Void)
-> Self
{
return response(
queue: queue,
responseSerializer: DataRequest.jsonResponseSerializer(options: options),
completionHandler: completionHandler
)
}
감사합니다. 알 겠어! –
'SwiftJSON'이라는 라이브러리를 사용하고 있는지 잘 모르겠습니다. 그런 라이브러리를 사용하고 있다면'responseData'를 항상 사용할 수 있는지 물어보고 싶습니까? JSON을 구문 분석 할 수 없다는 오류 ('responseJSON' 사용)를 리턴하는 API 콜렉션에 특정 엔드 포인트가 있기 때문입니다. – Glenn
@ prettyitgirl.com 데이터가 유효한 json이 아니면 오류가 발생합니다. 응답에서 json 인 경우에만 responseJSON을 사용하십시오. 그렇지 않으면 responseData를 사용할 수 있으며 대신 원시 데이터가 전달됩니다 (예 : 파일 또는 다른 종류의 데이터 일 수 있음). – Fogmeister