Я пытаюсь реализовать метод регистрации пользователя в моем веб-API asp.net на основе OData. Плоблем я хотел бы иметь его на корневом URL, за которым следует /Register.
В самом действии реестра используется RegisterModel, который содержит нужную информацию для создания пользователя.
Я попытался добавить пользовательское действие в WebApiConfig. Проблема в том, что OData затем ожидает простой параметр и отправка целых моделей не удастся.
Простая спецификация действия, как показано ниже, не будет работать для меня. Конечную точку можно найти, но модель всегда "null".
var actionRegister = builder.Action("Register");
actionRegister.Parameter<RegisterModel>("model");
actionRegister.Returns<IdentityResult>();
Метод API запускается следующим образом:
[AllowAnonymous]
[HttpPost]
[ODataRoute("Register")]
public async Task<IHttpActionResult> Register(RegisterModel model)
{
Любая помощь приветствуется. Моя конечная цель состояла бы в вызове контроллера в моем пользовательском контроллере, который может регистрировать пользователей по маршруту/регистру.
Пожалуйста, ознакомьтесь с http://aspnet.codeplex.com/SourceControl/latest#Samples/WebApi/OData/v4/ODataActionsSample/ODataActionsSample/ примером здесь, несвязанная функция должна соответствовать вашим потребностям.
RegisterModel
? Это структурированный тип, который можно найти в документе метаданных?RegisterModel
- это модель, которую я использую для ввода всех данных, необходимых для регистрации пользователя.