c# - WebApi 2 路由与?或者 /
问题描述
我刚刚在我的 api 中添加了 swagger 以生成一些文档......
通常,我的前端代码会像这样执行“通过 id 获取”:
https://whatever.com/api/GetDisplayContainer/A90555CD-931E-4D9D-D51D-08D63E83FCC6
但是,大摇大摆的“尝试一下”想要发送:
https://whatever.com/api/GetDisplayContainer?id=A90555CD-931E-4D9D-D51D-08D63E83FCC6
我希望能够支持这两种方式。我该怎么做?
以下是控制器方法的示例:
[HttpGet]
[Route("GetDisplayContainer")]
public ApiResponse<ContainerDisplayViewModel> GetDisplayContainer(Guid id)
{
return ApiResponse.Convert(ResourceService, _containerService.GetDisplayContainerById(id));
}
我真的不想改变我现有的代码来以“查询字符串”的方式来做。因为它是一种完全有效的方式。但是能同时支持这两个就好了……
这是使用 .net core 2.1 的 C#。
谢谢!
解决方案
你可以做两条路线:
[HttpGet]
[Route("GetDisplayContainer")]
public ApiResponse<ContainerDisplayViewModel> GetDisplayContainer([FromQuery] Guid id)
{
}
和
[HttpGet]
[Route("GetDisplayContainer/{id}")]
public ApiResponse<ContainerDisplayViewModel> GetDisplayContainerRoute([FromRoute] Guid id)
{
}
推荐阅读
- django - Django get_or_create 多行没有循环
- regex - 正则表达式使用 Google Apps 脚本格式化字符串中的数字
- java - Java自定义注解创建
- eclipse - Eclipse 的 Scala 测试问题,无法运行
- github-pages - Gatsby 图像不工作 - 部署时图像模糊或根本不显示
- web-scraping - 使用 BeautifulSoup 检索 Google Scholar 结果的问题
- bash - 如何在 if 语句中使用 REGEX
- excel - 如果满足条件,则创建数据列表
- c# - 在 ASP.NET Core 3.1 中使用带有 HttpContext.Response 的新 Json 序列化程序
- android - 将下拉列表作为布局中的视图,如 relativelayout 或 anthor 视图