Параметры строки запроса .NET Core swagger - PullRequest
1 голос
/ 14 октября 2019

У меня есть контроллер с именем "FootballControler" со следующими конечными точками:

  • get / api / FeedMatch
  • get / api / FeedMatch / ExternalMatchIdAndFeedLeagueId? ExternalMatchId = 0 & feedLeagueId = 0
  • get / api / FeedMatch / ExternalMatchIdAndFeedTypeId? ExternalMatchId = 0 & feedTypeId = 0
  • get / api / FeedMatch / feedMatchId = 2
  • get / api / FeedMatch / MatchId = 3
  • get / api / FeedMatch / dateMatch? DateMatch = "2012/1/1"

Как видите, все конечные точки пытаются получить список FeedMatch. Я хочу, чтобы они были такими:

  • get / api / FeedMatch
  • get / api / FeedMatch? ExternalMatchId = 0 & feedLeagueId = 0
  • get/ api / FeedMatch? externalMatchId = 0 & feedTypeId = 0
  • get / api / FeedMatch? feedMatchId = 2
  • get / api / FeedMatch? MatchId = 3
  • get / api /FeedMatch? DateMatch = "2012/1/1"

Мое решение:

[HttpGet]
public List<Match> GetAll()
{
  return a list of matches. 
}

[HttpGet]
public List<Match> GetByMatchIdAndFeedLeagueId(string externalMatchId, int feedLeagueId)
{
  return a list of matches. 
}

[HttpGet]
public List<Match> GetByExternalMatchIdAndFeedTypeId(string externalMatchId, int feedTypeId)
{
  return a list of matches. 
}

[HttpGet]
public List<Match> GetByFeedMatchId(int feedMatchId)
{
  return a list of matches. 
}

[HttpGet]
public List<Match> GetByMatchId(int feedMatchId)
{
  return a list of matches. 
}

Но Swashbuckle не работает в ядре asp.net с исключением NotSupportedException.

Я не хочу иметь один метод с необязательными параметрами, такими как:

[HttpGet]
public List<Match> Get(int? feedMatchId = null, int? feedMatchId = null,string externalMatchId = null ..... )
{
  return a list of matches. 
}

Пожалуйста, помогите мне решить эту проблему. Спасибо

...