2015-12-05 2 views
0

Я разрабатываю AngularJS фронтэнда API. Но мне нужно использовать API для отдыха, чтобы попробовать работать в моем приложении. Поэтому сначала я должен создать бэкэнд-услуги. Есть ли какой-нибудь тренажер отдыха, такой как услуги для представления бэкэнда. Поэтому я могу разделить разработку интерфейса и бэкэнд.Angularjs поддельной бэкэнд остальное апи

+1

Вы можете указать на фиктивные файлы JSON, которые позже могут быть заменены бэкэнд-адресами. – Yang

ответ

0

Вы можете создать каталог с статическим объектом JSon вы ожидаете быть возврата, а затем запустить сервер SimPE обслуживать эти файлы

Например, если у вас есть файл p.json в директории DIR с следующего содержания: { "имя": "Henri", "возраст": 12} запускающее следующую команду будет опубликовать этот файл на http://localhost:8000/p.json

питона -m SimpleHTTPServer 8000

PS: это будет работать для вашего метода GET, вам понадобится нечто более сложное для ваших PUT и POST, но это начало

0

Я использую этот libray для эмуляции API при разработке всего интерфейса.

Или вы могли бы использовать http://sinonjs.org/docs/#server, чтобы иметь поддельные XMLHttpRequest и полный набор тестов

Или вы можете создать статические json файлы для запроса на цели.

0

Это хорошая практика, работающая одновременно.

  1. Написать REST маршрут (+ тесты)
  2. Написать интерфейс страницы/директивы/вид/.. (+ тесты)
  3. GOTO 1.
1

Я нашел очень гладкой и простой способ создать среду разработки, которая действует совершенно так же, как если бы существовал бэкэнд.

Это то, что я сделал:

Я создал модуль Дев, который использует ngMockE2E и оберточный мое приложение модуль:

(function() { 
    'use strict'; 

    var appDev = angular.module('appDev', ['app', 'ngMockE2E']); 

    appDev.run(runAppDev); 

    runAppDev.$inject = ['$httpBackend', '$log', '$resource']; 

    function runAppDev($httpBackend, $log, $resource) { 
     $log.info('You are now in dev mode'); 

     $httpBackend.whenPOST('/test').respond(
      $resource('mock/test.json').get() 
     ); 

     // Catch-all pass through for all other requests 
     $httpBackend.whenGET(/.*/).passThrough(); 
     $httpBackend.whenPOST(/.*/).passThrough(); 
     $httpBackend.whenDELETE(/.*/).passThrough(); 
     $httpBackend.whenPATCH(/.*/).passThrough(); 
    } 
})(); 

Всякий раз, когда я хотел, чтобы имитировать бэкенд, я инициализация мое приложение с:

<html ng-app="appDev"> 
    .... 
</html> 

Как я сказал, преимущество в этом подходе состоит в том, что вы можете реализовать йо сервисы ресурсов ur (или http-сервисы) полностью такие же, как в реальном приложении с бэкэнд. В модуле appDev вам просто нужно указать, какие маршруты API вы хотите подделать, возвращая какой-то макет json. В моем случае все остальные маршруты API передаются на бэкэнд.

Этот подход на сегодняшний день является наиболее удобным для работы, поскольку он включает только библиотеку angular-mocks и ничего больше.

0

Check Atmo, инструмент для простого извлечения Api через пользовательский интерфейс.

Смежные вопросы