Подтвердить что ты не робот

Привязка модели в ядре ASP.NET для сопоставления символов подчеркивания с именами имен заголовков

У меня есть класс модели, в который я хочу привязать строку запроса в моем приложении ASP.NET MVC Core (RC2).

Мне нужно поддерживать подчеркивания в строках ключей запроса, чтобы подтвердить спецификации OAuth, но я хочу работать с именами свойств заголовка в моем приложении.

Мой класс модели выглядит следующим образом:

class OauthParameters
{
    public string ClientId {get; set;}

    public string ResponseType {get; set;}

    public string RedirectUri {get; set;}
}

поэтому я хотел бы привязать к нему строки запроса, такие как client_id, response_type и redirect_uri.

Есть ли способ для ASP.NET MVC Core сделать это автоматически или через аннотацию атрибута?

Я прочитал несколько статей о написании пользовательских связующих объектов, но они кажутся (1) слишком сложными для того, что я пытаюсь достичь, и (2) написаны для RC1 или ранее в виду, а некоторые из синтаксиса изменилось.

Спасибо заранее.

4b9b3361

Ответ 1

Здесь вы можете использовать свойство FromQuery attribute Name.

Пример:

public class OauthParameters
{
    [FromQuery(Name = "client_id")]
    public string ClientId { get; set; }

    [FromQuery(Name = "response_type")]
    public string ResponseType { get; set; }

    [FromQuery(Name = "redirect_uri")]
    public string RedirectUri { get; set; }
}

Ответ 2

Решение для .net core 2.1 и 2.2

Или без атрибутов вы можете сделать что-то вроде этого, что я считаю чище (конечно, если свойства модели совпадают с параметрами запроса).

Между тем я использую его в .net Core 2.1 и 2.2

public async Task<IActionResult> Get([FromQuery]ReportQueryModel queryModel) 
{ 

}