Witam.
Mam zapytanie do API, które ma kilka argumentów potrzebnych do stworzenia raportu.
public async Task<IActionResult> GetDataForReportWithParameters([FromRoute]int? tradeTypeId, [FromRoute]DateTime? dateFrom, [FromRoute]DateTime? dateTo, [FromRoute]int? deviceEventTypeId, [FromRoute]int? status)
Jeśli puszczę request, przykład:
https://localhost:5000/api/v1.0/reports/getdataforreportwithparameters/0/null/null/null/0
Dostaje błąd 404. Ale... Jeśli podam daty i wartości innych argumentów
https://localhost:5000/api/v1.0/reports/getdataforreportwithparameters/0/0001-01-01/0001-01-01/0/0
Przechodzi poprawnie.
Jaki jest sens nullable
skoro nie mogę wpuścić null
? Jaki jest sens podawania "fake" wartości i później sprawdzania, czy jest wartość tradeTypeId.HasValue
? Przecież to zawsze zwróci true
...
Teoretycznie, jeśli użytkownik nie wypełni argumentów wartościami to znaczy, że API ma zwrócić dane dla wszystkich elementów. Co robię źle? Czegoś pewnie nie zrozumiałem...