首页 > 解决方案 > 我可以使用 ASP MVC Web App 将 JSON 而不是 Web API 返回到 Android 应用程序吗?

问题描述

我已经有一个带有身份验证和授权的 ASP MVC Web 应用程序。

现在我正在开发一个 android 应用程序,它将执行与我的 Web 应用程序几乎相同的操作。

我可以使用我的 ASP MVC Web 应用程序将 json 数据返回到我的 android 应用程序,但是由于我搜索了很多,并且有人建议我将 Web API 用于 android 应用程序。

我的问题是使用身份验证和授权制作专用的 Web API 是否值得(因为 ASP MVC 的授权与 Web API 不同)。

请告诉我,如果我继续使用我的 ASP MVC Web 应用程序作为 android 应用程序的 json API 会有什么问题吗?

标签: androidasp.net-mvcasp.net-web-api

解决方案


您可以使用 MVC 应用程序,您可以拥有一些仅返回 JSON 数据并从任何地方调用它们的控制器。但是,当您从另一个应用程序调用它们时,您仍然需要验证对它们的访问权限。

您的另一个选择是稍微修改您的架构。创建一个适当的 WebApi,整理对它的身份验证。一旦你这样做了,你就可以从你的 MVC 和你拥有的任何其他应用程序中调用它,以同样的方式。通过这种方式,您可以保持一致,并且您的数据来自一个地方。

如果你从另一个应用程序调用你的 MVC 控制器,你基本上是在给 MVC 应用程序施加压力,它现在也需要为外部应用程序提供服务。过多的调用会影响 MVC 应用程序的性能。

相反,正确扩展 API 要容易得多。

我更喜欢将 JWT 安全性添加到我的 API。然后您的 MVC 应用程序成为客户端,移动应用程序成为另一个客户端,如果您需要添加一些用户信息,您可以,您还可以在需要时为您的令牌添加额外的声明。

看看这里:

https://jwt.io/introduction/
https://devblogs.microsoft.com/aspnet/jwt-validation-and-authorization-in-asp-net-core/

我过去使用 IdentityServer 3 7 4 效果很好:https ://github.com/IdentityServer/IdentityServer4


推荐阅读