第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

僅在控制器中添加另一個操作方法就會導(dǎo)致 Swashbuckle 崩潰

僅在控制器中添加另一個操作方法就會導(dǎo)致 Swashbuckle 崩潰

PHP
拉風(fēng)的咖菲貓 2024-01-20 21:36:54
我剛剛在控制器中添加了另一個 post 方法,Swagger Swashbuckle 崩潰了。如何解決這個問題? [HttpPost]        public IActionResult CreateCars(List<Car> cars)        {            _carService.CreateCars(cars);            return NoContent();        }System.NotSupportedException: HTTP method "POST" & path "api/Cars" overloaded by actions - IrkcnuApi.Controllers.CarsController.Create (WebApi),MyWebAPI.Controllers.CarsController.CreateCars (MyWebApi). Actions require unique method/path combination for OpenAPI 3.0. Use ConflictingActionsResolver as a workaround   at Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.GenerateOperations(IEnumerable`1 apiDescriptions, SchemaRepository schemaRepository)   at Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.GeneratePaths(IEnumerable`1 apiDescriptions, SchemaRepository schemaRepository)   at Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.GetSwagger(String documentName, String host, String basePath)   at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider)   at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context)
查看完整描述

3 回答

?
SMILET

TA貢獻(xiàn)1796條經(jīng)驗 獲得超4個贊

您的控制器中已經(jīng)有一個帶有屬性的方法HttpPost。由于您沒有明確指定路線,因此這些操作會發(fā)生沖突。


您可以通過為這些 POST 操作指定路由來解決此問題,例如:


[HttpPost("createMultiple")]

public IActionResult CreateCars(List<Car> cars) {}


[HttpPost()]

public IActionResult CreateCar(Car car) {}

上面的建議當(dāng)然不是“RESTfull”,因為你的 URL 中有動詞。


我建議修改您的代碼,以便您只有一個“創(chuàng)建”方法,因為上述兩個操作實際上隱式相同(我猜)。使用CreateCars僅包含一項的汽車集合調(diào)用該操作在某種意義上實際上與調(diào)用該CreateCar操作相同。


查看完整回答
反對 回復(fù) 2024-01-20
?
UYOU

TA貢獻(xiàn)1878條經(jīng)驗 獲得超4個贊

使用以下代碼解決該問題,

services.AddSwaggerGen(options =>
        {

            options.ResolveConflictingActions(apiDescriptions => apiDescriptions.First());
        });


查看完整回答
反對 回復(fù) 2024-01-20
?
HUX布斯

TA貢獻(xiàn)1876條經(jīng)驗 獲得超6個贊

在我的代碼中,我使用 Swagger Swashbuckle 5.5.1 和 Microsoft.AspNetCore.Mvc.Versioning 4.1.1 對于我來說 [ApiExplorerSettings(GroupName = "vx.0")] 其中 x 是同一控制器或其他控制器中多個操作的版本,工作正常。我還同時使用 MapToApiVersion 屬性,但屬性 ApiExplorerSettings 避免沖突。請參閱https://www.myget.org/feed/domaindrivendev/package/nuget/Swashbuckle.AspNetCore.Swagger 的“裝飾單個操作”


在我的測試中我有 2 個控制器。第一個控制器映射版本 1.0 和 2.0。僅第二個控制器地圖版本 3.0


第一控制器:


[Authorize]

[ApiVersion("1.0")]

[ApiVersion("2.0")]

[Route("viewqlikapi")]

[Route("ViewQlikApi/v{version:apiVersion}")]

[ApiController]

public class QlikController : ControllerBase, IQlikController

兩個具有相同路徑的操作 // Dati Pratica Audit


[HttpGet]

[ApiExplorerSettings(GroupName = "v1.0")]

[Route("datipraticaaudit")]

public RisultatoElementiPagina<ViewQlikDatiPraticaAudit GetElementiPaginaDatiPraticaAudit(int numeroElementi, int indicePagina)....


[HttpGet]

[MapToApiVersion("2.0")]

[ApiExplorerSettings(GroupName = "v2.0")]

[Route("datipraticaaudit")]

public RisultatoElementiPagina<ViewQlikDatiPraticaAudit> GetElementiPaginaDatiPraticaAuditV2(int numeroElementi, int indicePagina, int other)...

和第二個控制器..


[Authorize]

[ApiVersion("3.0")]

[Route("ViewQlikApi/v{version:apiVersion}")]

[ApiController]

public class QlikV2Controller : ControllerBase

和行動


[HttpGet]

[MapToApiVersion("3.0")]

[ApiExplorerSettings(GroupName = "v3.0")]

[Route("auditoperativoaccesso")]

public RisultatoElementiPagina<ViewQlikAuditOperativoAccesso> GetElementiPaginaAuditOperativoAccesso(int numeroElementi, int indicePagina, int o)



查看完整回答
反對 回復(fù) 2024-01-20
  • 3 回答
  • 0 關(guān)注
  • 179 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號