【问题标题】:Type Error: Failed to execute 'fetch' on 'Window': Request with GET/HEAD method cannot have body - in asp.net core with swagger UI类型错误:无法在“窗口”上执行“获取”:使用 GET/HEAD 方法的请求不能有正文 - 在带有 swagger UI 的 asp.net 核心中
【发布时间】:2021-08-23 10:03:30
【问题描述】:

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

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

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

【问题讨论】:

  • 嗨@Kumavat vijay,请分享足够的代码来重现该问题。你的DataActionResponseBoxOfficeControllerBase 是什么? AttendeeDetailModelTicketingModes 是简单模型吗?

标签: c# asp.net-core swagger swagger-ui


【解决方案1】:

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 2021-11-12
    • 1970-01-01
    • 2018-07-22
    • 2022-01-01
    • 2021-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-21
    相关资源
    最近更新 更多