ASP .NET Core API - jak to jest z argumentami nullable?

0

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...

4

Myśle, że to Ci zadzaiła gdy będzie adress budował w ten sposób https://localhost:5000/api/v1.0/reports/getdataforreportwithparameters?dateFrom=twojawartosc
A jak czegoś nie podasz to przyjmie null

0

Człowiek się uczy całe życie. Dzięki bardzo

1 użytkowników online, w tym zalogowanych: 0, gości: 1