Переименование WeatherForecastController приводит к ошибке 404

#asp.net-core-webapi

Вопрос:

Я использую последний угловой шаблон плюс ASP.Net Основные проекты WebAPI в VS 2022. Я пытаюсь преобразовать для своего использования, переименовав WeatherForecastController . Я нахожу, что WeatherForecastPlop2Controller это прекрасно работает, но BobWeatherForecastController не работает. Я играл в течение последних целых двух дней, пытаясь заставить несколько контроллеров работать с образцами проектов. Я вижу, как они работают через Swagger с портом API, но по какой-то причине только WeatherForecastController вызовы работают через прокси. Я новичок в веб — разработке, поэтому буду признателен за любые указания. Спасибо

Ответ №1:

Вы можете попробовать заменить [Route("[controller]")] на [Route("WeatherForecast")] in BobWeatherForecastController .

 [ApiController]  [Route("WeatherForecast")]   public class BobWeatherForecastController: ControllerBase  {  }  

Так что маршрутизация BobWeatherForecastController все еще WeatherForecast/... идет .

Комментарии:

1. Спасибо вам за ваш ответ. Теперь я вижу, что ваш метод тоже сработал бы.

Ответ №2:

Я обнаружил, что проблема заключалась в proxy.conf.js файл;

 const PROXY_CONFIG = [  {  context: ["/weatherforecast", ],  target: "https://localhost:7085",  secure: false  } ]  module.exports = PROXY_CONFIG;  

Промежуточное программное обеспечение прокси-сервера, похоже, не заботится о том, что происходит после контекста. Вот почему WeatherForecastPlop2Controller это работает, но BobWeatherForecastController не работает. Поэтому, чтобы переименованный контроллер работал в моем приложении Angular, мне нужно было сопоставить новое имя в этом прокси-файле.