Я пытаюсь воссоздать учебную программу Tour of Heroes на Angular, но на этот раз с бэкэндом MVC.однако, кажется, что есть разрыв между моим запросом HTTP Get и сервером, когда я пытаюсь получить список героев.Я не уверен, что может быть причиной этой проблемы, потому что нет никаких сообщений об ошибках, показывающих, когда я ошибаюсь приложения.(и интерфейс, и сервер работают из VSC и VS соответственно).Любой вклад, который вы, ребята, можете предоставить, был бы фантастическим.
Ниже приведен код службы моих героев и контроллера героев.
import { Injectable } from '@angular/core';
import { HttpClient, HttpHeaders } from '@angular/common/http';
import { Observable, of } from 'rxjs';
import { catchError, map, tap } from 'rxjs/operators';
import { Hero } from './heroes';
import { MessageService } from './messages.service';
const httpOptions = {
headers: new HttpHeaders({ 'Content-Type': 'application/json' })
};
@Injectable()
export class HeroService {
private heroesUrl = 'http://localhost:44339/api/values'; // URL to web api
constructor( private http: HttpClient, private messageService: MessageService) { }
/** GET heroes from the server */
getHeroes (): Observable<Hero[]> {
return this.http.get<Hero[]>(this.heroesUrl);
}
}
``````````````
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using HeroApi.Models;
using Microsoft.AspNetCore.Mvc;
namespace HeroApi.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class HeroesController : ControllerBase
{
[HttpGet]
public IEnumerable<Hero> GetAll()
{
var list = new List<Hero>();
list.Add(new Hero() { name = "Dynamo" , id = 1});
list.Add(new Hero() { name = "Captain Fission", id = 2 });
return list;
}
[HttpGet("{id}")]
public Hero Get(int Id)
{
return new Hero(){ id = Id };
}
[HttpPost]
public void Post([FromBody] string value)
{
}
[HttpPut("{id}")]
public void Put(int id, [FromBody] string value)
{
}
[HttpDelete("{id}")]
public void Delete(int id)
{
}
}
}
``````````````