【发布时间】:2018-11-26 17:22:29
【问题描述】:
我刚刚在我的 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#。
谢谢!
【问题讨论】:
-
如果您将路线设置为“GetDisplayContainer/{id}”,那么 swagger 可能会建议您想要的格式
-
这行得通 - 谢谢!如果您建议将其作为答案,我会将其标记为已接受..
-
500 错误是怎么回事?
-
我意识到这是由于没有有效的会话造成的,一旦我登录它就可以通过 swagger ui 按预期工作,所以这是一个红鲱鱼......
标签: c# routes query-string asp.net-core-webapi