ios - 与 Swift 交互的 ASP.net Web API
问题描述
我可以使用 ASP.NET 核心创建一个 Web API 来与我的 SQL Server 数据库交互,然后让我的 iOS 移动应用程序用 swift 编码与 .net 文件交互吗?
我需要将我的 iOS 应用程序与已经存在的远程数据库连接,我想知道这是否是一个可行的选择。由于我不能直接这样做,这似乎是我唯一(有据可查的)免费选项。
解决方案
更新:查看我的博客文章以获取有关此特定用法的更多信息:https ://medium.com/@brstkr3/how-to-connect-your-swift-application-to-an-asp-net-core-back-结束-cc0ab9a4fba8
您可以为这种后端使用任何语言/框架,它部署在哪个用例中并不重要,例如移动、桌面或 Web。(NodeJS / ASP.NET Core / ...)
在这一点上,使用 REST API 的方式很重要。
因此,您可以为此使用ASP.NET Core Web API并使用它构建后端。包括身份验证系统、与数据库的数据交易、外部 API(Azure 等)等服务。
毕竟在 Swift 应用程序中包含特定的Http是很重要的。所以 Swift 应用程序中的所有 Http Request 都必须通过内置的 ASP.NET Core Web API。
它在 Swift 中可能看起来像这样ViewController
:
func LoginButtonTapped( sender: UIButton) {
//Server URL of the ASP.NET Core Web API "http://hostname:serverport"
var url = "http://localhost:5000/api/login"
//Create a component and add the URL
guard var urlComponents = URLComponents(string: url) else { return }
//Modify the URLSession with the url of the created URLComponent above
URLSession.shared.dataTask(with: urlComponents.url) {
(data, response, error) in ...
}
}
如需进一步使用,请考虑:
不要忘记解码从服务器返回的数据,例如使用
JSONDecoder
.
还要注意身份验证,考虑您希望如何实现这一点以及如何通过存储凭据/令牌在本机中处理它
也不要忘记在调试移动应用程序时让您的服务器运行;)
坏处
- 无代码共享:使用 Java/Kotlin 或 Swift 构建应用程序将为您提供更多工作,并为每个平台重写几乎所有内容。