我试图找到一个简单的例子,说明一个人如何在路由器中向蒸汽样本端点发送请求http://example.vapor.codes/json,接收响应并将其映射到结构或类.
我已经在其他地方看到了Vapor 2的例子,但它们与Vapor 3不再相关,目前的Vapor 3 beta文档还不清楚.
就像是...
router.get("sample") { req in
//1. create client
//2. send get request to sample endpoint at http://example.vapor.codes/json
//3. handle response and map to a struct or class
}
Run Code Online (Sandbox Code Playgroud)
我的目标是从端点获取一些东西,将其转换为结构或类,并在叶子视图中显示它.
{"array":[0,1,2,3],"dict":{"lang":"Swift","name":"Vapor"},"number":123,"string":"test"}
Run Code Online (Sandbox Code Playgroud)
这是我的想法,我认为它是如何完成但我不明白如何处理响应和处理结构,以便我可以在我的home.leaf中使用它的html(我不关心叶子部分假设我已经完成了所有这些的配置并且已经导入了).
router.get("example"){ req -> Future<View> in
struct ExampleData: Codable {
var array : [Int]
var dict : [String : String]
}
return try req.make(Client.self).get("http://example.vapor.codes/json").flatMap(to: ExampleData.self) { res in
//not sure what to do to set the values of the ExampleData
}
return …Run Code Online (Sandbox Code Playgroud)