Asp.net web api 大摇大摆:带有查询参数的POST API端点

Asp.net web api 大摇大摆:带有查询参数的POST API端点,asp.net-web-api,swagger,swagger-ui,swagger-2.0,swashbuckle,Asp.net Web Api,Swagger,Swagger Ui,Swagger 2.0,Swashbuckle,我需要帮助覆盖swagger生成器来处理API端点,并在Swashback中记录查询参数 我发现了一个在激烈的方法解释如何覆盖招摇生成器 例如: 我有两个相同的路由定义端点: POST/api/customer(路线模板->/api/customer) POST/api/customer?f={f}&l={l}(路由模板->/api/customer) 默认的招摇过市生成器的问题是,它提供了与相同端点的冲突。我尝试了来自Swashback的ResolveConflictingActions方

我需要帮助覆盖swagger生成器来处理API端点,并在Swashback中记录查询参数

我发现了一个在激烈的方法解释如何覆盖招摇生成器

例如: 我有两个相同的路由定义端点:

  • POST/api/customer(路线模板->/api/customer)
  • POST/api/customer?f={f}&l={l}(路由模板->/api/customer)
默认的招摇过市生成器的问题是,它提供了与相同端点的冲突。我尝试了来自Swashback的
ResolveConflictingActions
方法,但没有多大帮助


需要有关实际工作代码的帮助,该代码将覆盖Swashback中的swagger generator,并使用以下查询参数记录端点

您从Swashback获得的错误是正确的,您正在尝试为同一路由创建多个操作,查询参数不会使路径唯一。这违反了Swigger规范。来自OpenAPI规范

对于每个路径,您定义可以使用的操作(HTTP方法) 要访问该路径。OpenAPI 3.0支持get、post、put、patch、, 删除、标题、选项和跟踪。一条路径可以支持多条路径 操作,例如,GET/users以获取用户列表并发布 /用户添加新用户。OpenAPI将唯一操作定义为 路径和HTTP方法的组合。这意味着两个得到或 不允许对同一路径使用两个POST方法,即使它们有 不同的参数(参数对唯一性没有影响)

您应该创建一个查询参数为可选的单一路径。最终,您将拥有相同的API,并具有兼容的招摇过市定义