簡體   English   中英

Swagger 被具有不同 URL 的第二個 HttpPost 端點混淆

[英]Swagger confused by second HttpPost endpoint with different URL

我有以下 API 端點。

[Authorize]
[HttpPost]
[Route("{companyCode}")]
public async Task<IActionResult> GetSearchResultsAsync(TripSearchDto tripSearch, string companyCode, int? page = null) =>
    await SearchResultsCommonAsync(tripSearch, companyCode, false, page);

這很好用。 但我需要添加一個返回額外數據的版本,但我想在不破壞現有 API 的情況下進行。

所以我在 URL 中添加了第二個帶有“ex”段的。

[Authorize]
[HttpPost]
[Route("ex/{companyCode}")]
public async Task<IActionResult> GetSearchResultsExAsync(TripSearchDto tripSearch, string companyCode, int? page = null);

這似乎也可以正常工作。

然而,swagger 似乎對此感到困惑。

在此處輸入圖像描述

有沒有人在這里看到問題,或者我該如何解決?

如果我嘗試直接導航到https://localhost:44360/swagger/v1/swagger.json ,則會出現錯誤。

在此處輸入圖像描述

這兩種方法都依賴於我無意中公開的通用方法。

將該方法(不是端點)設為私有解決了這個問題。

而不是發布然后路由,嘗試

HttpPost("{companyCode}")

HttpPost("ex/{companyCode}")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM