将SwiftUI连接到Nestjs服务器

问题描述 投票:0回答:1

我在nestjs上开发了一个服务器,通过它我创建了对象作为模型:id和title:enter image description here我想在swiftUI中的ios应用程序上检索数据,但是当我启动它时,列表中什么都没有显示。并且错误显示在控制台中。

如果我使用url:“ https://jsonplaceholder.typicode.com/todos”,则一切正常。我不知道问题是什么。您有解决方案吗?

这是我的代码:

import SwiftUI

    struct Task: Codable, Identifiable {
        public var id: Int
        public var title: String
    }
    class LoadData: ObservableObject {
      @Published var tasks = [Task]()
        init() {
            let url = URL(string: "http://localhost:3000/tasks")!
            URLSession.shared.dataTask(with: url) {(data, response, error) in
                do {
                    if let taskData = data {
                        let decodedData = try JSONDecoder().decode([Task].self, from: taskData)
                        DispatchQueue.main.async {
                            self.tasks = decodedData
                        }
                    } else {print("No data")}
                } catch {print("Error")}
            }.resume()
        }
    }

    struct ContentView: View {
        @ObservedObject  var load = LoadData()

        var body: some View {
            VStack {
                List(load.tasks) { index in
                    VStack(alignment: .leading) {
                        Text(index.title)
                    }
                }
            }
        }
    }
swift xcode url swiftui nestjs
1个回答
0
投票

通常,Apple希望您使用https。因此,请尝试为https设置nestjs服务器和ios客户端。另外,您可以在info.plist中提供一个例外来解决此问题,即使用http。

这里是放入info.plist的一个示例,请相应调整:

© www.soinside.com 2019 - 2024. All rights reserved.