Witajcie,
Mam zapewne błahe pytanie dla wyjadaczy angulara :)
Potrzebuje przesłać przez httpClient metodą GET wraz z parametrami obiekt. Jak mogę to zrobić? Gdybym wysyłał sam obiekt to pół biedy ale tu właśnie są parametry + obiekt.
Próbowałem dodać do httparams append("nazwaParametru", <any>obiekt) ale w kontrolerze API dostawałem puste parametry.
Przepraszam za taką składnie ale wiadomość pisana jest z telefonu.
Frontend angular 8.
Backend .net core 3.1
Pozdrawiam i z góry dziękuję
0
0
Jako że nie podałeś swojego kodu, to wklejam przykład mojego.
GET w kontrolerze .NET Core:
/// <summary>
/// GET: api/game/join
/// </summary>
/// <returns>Game status model.</returns>
[HttpGet("join")]
[Authorize(AuthenticationSchemes = "Bearer", Roles = "Admin, User")]
public IActionResult JoinGame(int id)
{
List<GameStateModel> list = _memoryAccess.GetGameList();
GameStateModel model = _memoryAccess.GetGameList().Where(g => g.GameId == id).FirstOrDefault();
if (model == null)
{
return new ObjectResult("Game does not exists.") { StatusCode = 409 };
}
return Json(model);
}
I żądanie HTTP z Angular:
const url: string = environment.apiUrl + 'api/game/join?id=' + id;
this.httpService.getData(url).subscribe((game: GameState) => {
if (game) { //do sth with game object }
}
gdzie w httpService getData(url)
to:
public getData(url: string): Observable<any> {
this.spinner.show();
this.result = this.requestResult(url);
this.spinner.hide();
return this.result;
}
private requestResult(url: string): Observable<any> {
return this.http.get<any>(url);
}
0
Możesz z obiektu zrobić JSON i to przepchnąć w query stringu. Rada: nie rób tak.
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.