Więc jestem testowania niektórych moich routingu się z Postman
i nie wydaje się uzyskać to wezwanie, aby przejść:Web API Parametry opcjonalne w środku z atrybutem routingu
API Function
[RoutePrefix("api/Employees")]
public class CallsController : ApiController
{
[HttpGet]
[Route("{id:int?}/Calls/{callId:int?}")]
public async Task<ApiResponse<object>> GetCall(int? id = null, int? callId = null)
{
var testRetrieve = id;
var testRetrieve2 = callId;
throw new NotImplementedException();
}
}
Postman kupna
http://localhost:61941/api/Employees/Calls NIE DZIAŁA
Błąd:
{
"Message": "No HTTP resource was found that matches the request URI 'http://localhost:61941/api/Employees/Calls'.",
"MessageDetail": "No action was found on the controller 'Employees' that matches the request."
}
http://localhost:61941/api/Employees/1/Calls WORKS
http://localhost:61941/api/Employees/1/Calls/1 WORKS
jakiś pomysł, dlaczego nie można użyć opcjonalnego między moim prefiks i niestandardowej trasie? Próbowałem połączyć je w jedną niestandardową trasę i to niczego nie zmienia, za każdym razem próbuję wykreślić identyfikator, który powoduje problemy.
Mimo, że działa jako funkcja indywidualne, szukam do hermetyzacji wszystkich 3 te potencjalne wywołania pod 1 funkcją, które, jeśli rozumiem opcjonalne rutowanie, powinno być możliwe. – tokyo0709