Создать сервис отдыха Umbraco 7 backOffice

Я много читал по этому вопросу. Я читал, что могу использовать веб-API asp.net для создания службы отдыха в Umbraco.

Могу ли я создать этот API в бэк-офисе Umbraco? Если нет, как мне подключить службу к моему локальному сайту Umbraco?

Я не могу найти простой учебник, который показывает это.

РЕДАКТИРОВАТЬ:

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


person blay    schedule 30.04.2015    source источник


Ответы (1)


Ознакомьтесь со статьей https://our.umbraco.org/DOCUMENTATION/Reference/WebApi/. объясняет, как создавать контроллеры, наследуемые от UmbracoApiController.

EDIT – я добавил этот пример:

Я сделал такой контроллер:

public class PartnersController : UmbracoApiController
{ 
    public IEnumerable GetPartners(string zip = "") { ... } 
}

Затем я использовал jQuery и AngularJS следующим образом:

function getPartnersForZip($scope, $http) {
    $http({ method: 'GET', url: '/umbraco/api/partners/getpartners/?zip=' + getQueryVariable("zip") }).success(function (data) {
        $scope.partners = data;
    });
}

<div ng-controller="getPartnersForZip" ng-cloak>
    <ul class="dealer-list" ng-cloak>
        <li ng-repeat="partner in partners"></li>
    </ul>
</div>

Это работает для меня. Что вы пробовали?

person Jannik Anker    schedule 30.04.2015
comment
Я прочитал эту статью. Это не ясно. Когда я вызываю URL-адрес API/контроллера, он не работает (ошибка 404 http) - person blay; 30.04.2015
comment
Я добавил пример, который может помочь. - person Jannik Anker; 30.04.2015
comment
когда я добавляю свой controller.cs. согласно статье, вам нужно поместить этот файл в ~Umbraco/Api/[YourControllerName] , но я получаю 404 custom — ни один документ umbraco не соответствует URL-адресу '/Api/TestController'. - person blay; 03.05.2015
comment
Нет, вы не помещаете его в папку /umbraco/api/ — вместо этого поместите его в App_Code. /umbraco/api/ — это просто маршрут, который использует Umbraco. Когда вы создаете класс с помощью UmbracoApiController, Umbraco регистрирует это и определяет маршрут для вас. Кроме того, имя класса контроллера должно заканчиваться на Controller. - person Jannik Anker; 04.05.2015
comment
Разве раньше не было встроенного API для доступа к документам из Umbraco? т. е. если бы у вас был тип документа «Новости», вы могли бы просто позвонить по адресу www.mysite.com/api/news/12, чтобы получить новость с идентификатором 12? - person Dan Harris; 12.05.2017
comment
@DanHarris Насколько мне известно, нет. - person Jannik Anker; 12.05.2017
comment
Не включайте контроллерную часть имени файла. Итак, если ваш контроллер называется TestController, путь должен быть Umbraco/Api/Test/MethodName. - person hardba11; 25.03.2019