Как создать действие «Зарегистрировать пользователя» в OData asp.net Web API

1

Я пытаюсь реализовать метод регистрации пользователя в моем веб-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)
{

Любая помощь приветствуется. Моя конечная цель состояла бы в вызове контроллера в моем пользовательском контроллере, который может регистрировать пользователей по маршруту/регистру.

  • 0
    Что такое RegisterModel ? Это структурированный тип, который можно найти в документе метаданных?
  • 0
    RegisterModel - это модель, которую я использую для ввода всех данных, необходимых для регистрации пользователя.
Теги:
asp.net-web-api
odata

1 ответ

0
Лучший ответ

Пожалуйста, ознакомьтесь с http://aspnet.codeplex.com/SourceControl/latest#Samples/WebApi/OData/v4/ODataActionsSample/ODataActionsSample/ примером здесь, несвязанная функция должна соответствовать вашим потребностям.

  • 0
    Я не знаю, что именно я сделал не так, но следование примеру прекрасно работает! Спасибо за помощь!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню