如何解决如何使用完成块为 swagger 生成的 api 存根用于 etcd api
我尝试在 swift 命令行项目中使用带有此 api 的 swagger-gen 的 etcd v3 API:https://etcd.io/docs/v3.5/dev-guide/apispec/swagger/rpc.swagger.json 但是遇到一个问题:返回的字符串为空。
到目前为止我尝试过的: EtcdService.swift:
import Foundation
import SwaggerClient
struct EtcdService {
static var prefix : String = "foo"
static func getValue(key: String) -> String {
var str = "";
var req = EtcdserverpbRangeRequest()
req.key = Data((prefix+key).utf8)
SwaggerClient.KVAPI.kVRange(body: req) { (response: EtcdserverpbRangeResponse?,_: Error?) in
let data: [MvccpbKeyValue] = (response?.kvs)!
str = String(decoding: (data.first?.value)!,as: UTF8.self)
//it does show me the content of the response if I uncomment this
//print(str)
}
return str;
}
}
main.swift:
import Foundation
import SwaggerClient
SwaggerClientAPI.basePath = "http://localhost:2379"
let str = EtcdService.getValue(key: "3")
print(str)
RunLoop.main.run(until: Date(timeIntervalSinceNow: 5))
有没有更干净(更简单)的方法来做到这一点?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。