Статический файл, на который ссылается обработчик, не найден, когда Crud to ASP.NET Core

Я изучаю Angular, и у меня есть это клиентское приложение Angular 8 в движке приложений Google. Я получаю эту ошибку в журнале

Static file referenced by handler not found: dist/api/BooksXml/title/ruby

api/BooksXml — это мой маршрут Crud в сервисе Angular, например:

private BookItemsUrl = 'api/BooksXml';  // URL to web api

/title - это квалификатор Crud, подобный этому

  /** GET book by title from server. */
  getBookByTitle(title: string): Observable<BookItem[]> {
    const url = `${this.BookItemsUrl}/title/${title}`;
    return this.http.get<BookItem[]>(url);
  }

/ruby — это название книги, которую я ищу.

Бэкэнд — это ASP.NET Core. Все это работает на локальном хосте, но в движке приложения я получаю эту ошибку

Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
0
0
49
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Angular считает ваш api/BooksXml/title/ruby статическим файлом. Существует 2 решения для вызова вашего бэкэнда: использовать прокси или изменить свой BookItemsUrl с помощью URL-адреса бэкенда.

Изменить URL-адрес BookItemsUrl
Это решение может не работать, если вы не включите CORS.

private BookItemsUrl = 'http://<server_name>:<port_number>/api/BooksXml'

ИЛИ

Использовать прокси
Проверьте Угловая документация, если вы не знаете о прокси.

  1. Создайте файл src/proxy.config.json:
{
  "/api": {
    "target": "http://<server_name>:<port_number>",
    "secure": false
  }
}
  1. В angular.json добавьте опцию proxyConfig:
...
"architect": {
  "serve": {
    "builder": "@angular-devkit/build-angular:dev-server",
    "options": {
      "browserTarget": "your-application-name:build",
      "proxyConfig": "src/proxy.conf.json"
    },
...

Note that if you edit the proxy configuration file, you must relaunch the ng serve process to make your changes effective.

Спасибо, ничего из этого не работает, я думаю, проблема в бэкэнде, я думаю, что NET.ASP Core Controller Crud не слушает

Tord Larsen 21.06.2019 16:00

Протестируйте серверную часть (например, с помощью Postman), чтобы проверить, возвращает ли она значения.

youri 21.06.2019 16:15

Я знаю, что было не так, сначала я использовал этот [http://unique-yew-244216.appspot.com]() как BookItemsUrl, затем я заметил, что есть еще этот [http://v0-dot-unique-yew-244216.appspot.com](), я узнал об этом и почему там два разных адреса. Теперь я вижу входящее событие, за исключением того, что серверная часть не может найти books.xml

Tord Larsen 21.06.2019 16:24

books.xml находится в корневой папке, возможно, он должен быть в www

Tord Larsen 21.06.2019 16:28

да, установка приватного BookItemsUrl сделала свое дело. Исключение говорит: «Не удалось найти файл '/app/books.xml'.»,

Tord Larsen 21.06.2019 16:37

Другие вопросы по теме