类型错误:无法在“窗口”上执行“获取”:使用 GET/HEAD 方法的请求不能有正文 - 在带有 swagger UI 的 asp.net core 中

问题描述 投票:0回答:2

我已经运行了 swagger API,但问题出现在 swagger UI 中。这是我的控制器。

[Route("office/[controller]")]
public class AttendeeController : BoxOfficeControllerBase
{
    [HttpGet]
    public DataActionResponse<IList<AttendeeDetailModel>> GetAll(TicketingModes eventType, int? showId = null)
    {
        return null;
    }
}

enter image description here 那么,我做错了什么,如何解决?

c# asp.net-core swagger swagger-ui
2个回答
0
投票

那么,我做错了什么,如何解决?

您没有声明如何处理您的参数。

[HttpGet]
public DataActionResponse<IList<AttendeeDetailModel>> GetAll([FromQuery]TicketingModes eventType, [FromQuery]int? showId = null)

看起来

TicketingModes
是一个复杂类型(可能是类),这意味着框架默认会尝试从请求正文中读取它(就像您设置了 [FromBody] 一样)。

但是,GET 请求没有正文。你需要找到另一种方法。如果它很小,则将其作为查询参数传递,或者将其传递到正文中,但使用不同的 HTTP 动词。


0
投票

HttpGet 方法不接受正文。 您已将方法更改为 HttpPost

© www.soinside.com 2019 - 2024. All rights reserved.