thabet idris Ответов: 0

Не удается получить доступ к action web API-наследование атрибутов маршрута - ASP.NET основные контроллеры


У меня есть три уровня наследования атрибутов маршрута :

ClassA : ClassB public string Concat(..) [Route(..)] ClassB : ClassC [Route(..)] ClasseC: ControllerBase

Проблема в том, что сервис "Конкакт" в классе никогда не работает !

Вот мой код с подробностями:

* UniteAdministrativeController :



* ControleurRechercheBase :


* ControleurObtentionBase :



Моя проблема здесь в том , что я не могу выполнить действие HTTPPOST "Concat", и когда я тестирую его с POSTMAN: https://localhost:44339/api/v1.0/UniteAdministrative/

Я получаю ошибку 415,

Как я могу это исправить? Или есть идея его модифицировать ?

Что я уже пробовал:

public class UniteAdministrativeController : ControleurRechercheBase<Entites.UniteAdministrative, DbContext>     
{
      protected readonly IRechercheDAO<Entites.UniteAdministrative, DbContext> rechercheDAOtest;
      public UniteAdministrativeController(IRechercheDAO<Entites.UniteAdministrative, DbContext> rechercheDAO)
 : base( rechercheDAO)
 {
     rechercheDAOtest = rechercheDAO;
 }      

 [HttpPost]
 [Route("Concat")]

 public string Concat([FromBody] CritereRecherche critereRecherche)
 {
     //...
 }
}





[Route("api/v{version:apiVersion}/[controller]")]
  public abstract class ControleurRechercheBase<TEntite, TContexte> : ControleurObtentionBase<TEntite>
     where TEntite : class
     where TContexte : ContexteBase
{
     protected readonly IRechercheDAO<TEntite, TContexte> RechercheDao;

     protected ControleurRechercheBase(IRechercheDAO<TEntite, TContexte> rechercheDAO);

 [HttpPost("Recherche")]
 public Task<IActionResult> Rechercher([FromBody] CritereRecherche critereRecherche);
}




[Route("api/v{version:apiVersion}/[controller]")]
   public abstract class ControleurObtentionBase<T> : ControleurBase where T : class
{           

     protected ControleurObtentionBase();

  [HttpGet]
  [HttpGet("{parametre}")]
  [ProducesAttribute("application/json", new[] { })]

  public Task<IActionResult> Get(string parametre);
}

0 Ответов