gpt4 book ai didi

c# - WebApi 2 路由与 ?或者/

转载 作者:行者123 更新时间:2023-11-30 21:31:14 26 4
gpt4 key购买 nike

我刚刚在我的 api 中添加了 swagger 以生成一些文档...

通常,我的前端代码会像这样“通过 id 获取”:

https://whatever.com/api/GetDisplayContainer/A90555CD-931E-4D9D-D51D-08D63E83FCC6

然而,大摇大摆的“试一试”想要发送:

https://whatever.com/api/GetDisplayContainer?id=A90555CD-931E-4D9D-D51D-08D63E83FCC6

我希望能够支持这两种方式。我该怎么做?

这里是一个 Controller 方法的例子:

[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)
{
}

关于c# - WebApi 2 路由与 ?或者/,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53486131/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com