#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, мне нужно было сопоставить новое имя в этом прокси-файле.