【问题标题】:Call a WebAPI in ASP.Net Core MVC在 ASP.Net Core MVC 中调用 Web API
【发布时间】:2021-09-16 14:00:27
【问题描述】:

我编写了一个后端系统,我可以在其中管理数据,然后将其输出到 API。我这样做是因为我想将一个大项目转换成不同的语言+框架,但我还是想先把这个后端系统集成到当前版本中,因为它比旧的方式要好得多。我一直在寻找它是如何工作的,但我还没有真正得出结果,希望有人能帮助我。

示例: 我为每个成员提供了一个单独的页面,其中包含来自传记等的一些数据,我可以将其显示在 WebAPI 下:“https://sub.domain.de/items/member”,然后输出所有成员和相关数据.现在我希望我:“https://www.domain.de/member/[John_Doe]”(John_Doe 当然是每个其他成员的示例值) 可以输出一定的数据。当然,页面仍然应该是动态生成的。

ps:如果有必要我也可以输入“https://sub.domain.de/items/member/[John_Doe]”来只获取特定成员的数据。

json 基本上是这样的:

{
  "data": [
    {
      "name": "John_Doe",
      "status": "published",
      "user_created": "052a2c25-b063-4a82-90cb-110d7f809cae",
      "date_created": "2021-06-29T08:30:06+02:00",
      "title": "Doc John Doe",
      "Characteristics": "- **Lorem **: ipsum dolor sit amet\n- **Birthdate**: 1965",
      "bio": "- **Lorem ipsum**:\nLorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.",
      "member": true,
      "section1": false,
      "section2": false,
      "portrait": null
    },
    {
      "name": "Jane",
      "status": "published",
      "sort": null,
      "user_created": "052a2c25-b063-4a82-90cb-110d7f809cae",
      "date_created": "2021-06-29T08:29:31+02:00",
      "title": "Jane",
      "Characteristics": "",
      "bio": "Bio unbekannt.",
      "member": true,
      "section1": false,
      "section2": true,
      "potrait": "30d17fe3-bcf7-4aa2-9759-49f3e257eb0f"
    }
  ]
}

并且bio和特征都写在markdown中。

我希望我能够解释我的意思并且有人可以帮助我。

编辑:

ps:我的主要问题是我不知道如何从 api 获取数据,当然我不仅有成员的区域,我还有很多文章等等,但它适用于同样的逻辑。

【问题讨论】:

  • 请显示到目前为止你做了什么代码。
  • 你指的是哪个代码?我的问题是我不确切知道如何从 api 获取数据并将其显示在视图中。我还没有写任何代码,因为我在任何地方都没有得到答案。
  • @Serge 好的,我的代码现在是:hastebin.com/opiyavovir.csharp 但是当我到达该站点时,会出现此错误:prnt.sc/19kpwe4

标签: asp.net-core-mvc markdown asp.net-core-webapi


【解决方案1】:

我猜这完全取决于路由。您可以使用此 url 构建返回数据的 api:"https://sub.domain.de/items/member/[John_Doe]" 像这样

[Route("items/member")]
[ApiController]
public class UserController : ControllerBase
{
    [HttpGet("{username}")]
    public IActionResult GetUserData(string username) {
    // your logic 
    } 
}

【讨论】:

  • 好的,谢谢!但我不知道我应该如何调用 api 来获取数据。 ps:我会在最后显示这个 url 的成员:“domain.de/member/xyz”但是 api 的 url 是这样的:“sub.domain.de/itemsmember /”
  • @Blizii 您可以使用您已经发送的 url "sub.domain.de/items/member{username}" 发出 GET HTTP 请求。如果我回答了你的问题,请给我投票。
  • 好的,对不起,我有点太笨了,无法理解,对我来说已经很晚了..那我到底要在控制器中输入什么?我需要一个模型吗?因为我不想在我的网站上使用路线:“/items/member/John_Doe”,但只需要:“/member/John_Doe”
  • @Blizii 关于你的问题“那么我到底要在控制器中输入什么”我根本没有得到你的意思,你的意思是你想写什么 LINQ 查询来获取用户数据?您要导航它以访问 api 的路线是什么???关于你的问题“我需要一个模型吗??”不,你不需要。并且关于“因为我不想要路线:”/items/member/John_Doe” 在我的网站上,但只有:“/member/John_Doe”“你可以像这样将路线放在控制器中:
  • [Route("member")] [ApiController] public class UserController : ControllerBase { [HttpGet("{username}")] public IActionResult GetUserData(string username) { // 你的逻辑 } }
猜你喜欢
  • 1970-01-01
  • 2022-01-05
  • 2017-11-01
  • 2020-12-13
  • 2019-04-27
  • 1970-01-01
  • 2018-03-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多