Исключить только метод PUT из маршрутизации YARPC#

Место общения программистов C#
Ответить
Anonymous
 Исключить только метод PUT из маршрутизации YARP

Сообщение Anonymous »

У меня есть следующая конфигурация YARP:

Код: Выделить всё

"ReverseProxy": {
"Routes": {
"serviceA": {
"ClusterId": "serviceA-cluster",
"Match": {
"Path": "serviceA/{**catch-all}"
},
"Transforms": [
{
"PathRemovePrefix": "/serviceA"
}
]
}
},
"Clusters": {
"serviceA-cluster": {
"Destinations": {
"Destination1": {
"Address": "http://host:5000/"
}
}
}
}
}
Для запроса PUT по определенному маршруту я не хочу маршрутизировать через YARP, а использую контроллер в своем API:

Код: Выделить всё

[HttpPut]
[Route("serviceA/api/action/{id}")]
public async Task Update([FromRoute][Required] Guid id)
{
...
}
Но у меня возникла следующая проблема: если я отправил запрос GET на serviceA/api/action, я получаю ошибку 405. Я подозреваю, что контроллер перезаписывает каждый метод на маршруте. Есть ли способ перезаписать только один конкретный метод в YARP? Таким образом, запрос GET маршрутизируется через прокси-сервер, а запрос PUT направляется через контроллер?

Подробнее здесь: https://stackoverflow.com/questions/793 ... rp-routing
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»