У меня есть следующий контроллер (приложение .NET Core Web API)
(Source
содержит несколько Site
)
SitesController.cs
// GET: api/sites
[HttpGet]
public IDictionary<int, Site> GetSites() {
return _db.Sites.ToDictionary(s => s.SiteId, s => s);
}
// GET: api/sites?source=5
[HttpGet("{source}")]
public IDictionary<int, Site> GetSites([FromRoute] int source) {
return _db.Sites.Where(s => s.SourceId == source).ToDictionary(s => s.SiteId, s => s);
}
// GET: api/sites/5
[HttpGet("{id}")]
public async Task<IActionResult> GetSite([FromRoute] int id) {
Когда Angular клиент запрашивает Site
s только от Source
, я, однако, получаю все сайты, функция с параметром int source
не вызывается ... Почему?
findAllSourceSites(sourceId: number): Observable<Site[]> {
return this.http.get(`${this.API_URL}/api/sites`, {
params: new HttpParams()
.set('source', sourceId.toString())
}).pipe(
map(res => {
return Object.values(res);
})
);
}
![enter image description here](https://i.stack.imgur.com/rZ2tx.png)