首页 > 解决方案 > 与 Swift 交互的 ASP.net Web API

问题描述

我可以使用 ASP.NET 核心创建一个 Web API 来与我的 SQL Server 数据库交互,然后让我的 iOS 移动应用程序用 swift 编码与 .net 文件交互吗?

我需要将我的 iOS 应用程序与已经存在的远程数据库连接,我想知道这是否是一个可行的选择。由于我不能直接这样做,这似乎是我唯一(有据可查的)免费选项。

标签: iossql-serverswiftdatabasexcode

解决方案


更新:查看我的博客文章以获取有关此特定用法的更多信息: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 构建应用程序将为您提供更多工作,并为每个平台重写几乎所有内容。

推荐阅读