Как выполнить операцию создания и обновления для Apache Isis Restful Object с помощью AngularJS

Добрый день, ребята, я реализовал операцию получения или чтения с помощью приложения AngularJS для вызова службы Isis через вызов $http. И отображение коллекции на экране с помощью Angular ng-repeat. Моя следующая задача — создать и обновить одну и ту же сущность с помощью AngularJS. Я знаю, что мне нужно отправить некоторые параметры в URL конечной точки. Пожалуйста, мне нужно как руководство Isis, так и, что важно, подсказки, ссылки или код AngularJS. Я думаю, что я должен получить какое-то подтверждение, чтобы подтвердить успешное создание или обновление. Ниже приведена выдержка из моего кода для операции getList, просто для начала. Ваша логика может быть совершенно иной. Большое спасибо.

sampleApp.controller('CrateUpdateController', function($scope, $http) {

    $http({ method:'GET',
        url: 'http://localhost:8080/xxx-webapp-1.0-SNAPSHOT/restful/services',
        headers: {'Accept': 'application/json'}
}).
        success(
        function (data) {
           //code to process outcome and acknowledgement etc
        }
      );
    });

person Mega    schedule 28.02.2014    source источник


Ответы (2)


Возможно, вам лучше всего пройти несколько руководств по Angular, чтобы изучить принципы этой библиотеки. Затем (как я упоминал ранее) взгляните на использование Spiro. библиотека в качестве основного интерфейса к серверу RO (Isis или RO.Net).

person Dan Haywood    schedule 02.03.2014

Не стоит смешивать так много разных тем. Хорошей практикой является отличать интерфейс на стороне сервера, предоставляемый вашим HTTP-сервером (Apache Isis), от кода на стороне клиента, обращающегося к нему.

Этот вопрос следует разбить на следующее:

  • Как выставить глаголы создания и удаления для существующего ресурса в Isis
  • Как использовать глаголы создания и удаления с Angular

Эти две темы очень разные, и нет особого смысла задавать их вместе. Основной момент в том, что Isis раскрывает интерфейс HTTP, заключается именно в том, чтобы абстрагироваться от логики на стороне клиента.

В качестве примечания: при доступе к отдыхающим ресурсам с помощью Angular попробуйте использовать $resource вместо $http

person danza    schedule 01.03.2014