取り急ぎコンソールにprintしたい時のための。
Dataのextensionを定義
Data
// MARK: - Data
private extension Data {
// DummyやStub用のJSONファイル作成に使用する
var prettyJson: String? {
guard let object = try? JSONSerialization.jsonObject(with: self, options: []),
let data = try? JSONSerialization.data(withJSONObject: object, options: [.prettyPrinted]),
let prettyPrintedString = String(data: data, encoding:.utf8) else {
return nil
}
return prettyPrintedString
}
}
API通信箇所で呼び出す関数を定義
API
// MARK: - Private
extension APIDataStoreImpl {
/// JSONを整えてコンソールに表示する
private func printPrettyJson(_ result: Proto_Response) {
if let object = try? result.jsonUTF8Data() {
print("jsonString:\n\(object.prettyJson ?? "nil")")
}
}
}
呼び出し
通信成功時にresponseを渡すだけで、
結果がいい感じに改行された状態で表示されます