methuselah methuselah - 6 months ago 16
AngularJS Question

GET call to REST API returns null

I am trying to make a GET call to test a REST API but it keeps returning null, is there anything I am doing wrong:

Making the call in controller.js

function ConsumerSearchCtrl($scope, BusinessCategoryService) {

console.log(BusinessCategoryService);

}


enter image description here

127.0.0.1:8000/api/category/ works perfectly fine

enter image description here

Code in services.js for API

/**
*
*/
function BusinessCategoryService(WenzeyAPI, $q) {

var scope = this;

scope.categories = categories;

function categories() {
var q = $q.defer();
WenzeyAPI.get('http://127.0.0.1:8000/api/category/').then(function success (res) {
q.resolve(res.data);
}, function failure (err) {
q.reject(err);
})
return q.promise;

}

}



/**
*
*/
function WenzeyAPI() {

var scope = this,
ip = "http://127.0.0.1:8000";

scope.get = get;
scope.post = post;

function get(url, data) {

data = data || {};

var req = {
method: 'GET',
url: url,
data: data
}

var q = $q.defer();
$http(req).then(function success(response) {
q.resolve(response);
}, function failure(err) {
q.reject(err);
});
return q.promise;
}

function post(url, data) {

data = data || {};

var req = {
method: 'POST',
url: url,
data: data
}

var q = $q.defer();
$http(req).then(function success(response) {
q.resolve(response);
}, function failure(err) {
q.reject(err);
});
return q.promise;
}

}

Answer

Removing WenzeyAPI and using $http resolved it.

function BusinessCategoryService($http) {

    this.getAllData = function () {

        return $http({
            method: 'GET',
            url: 'http://127.0.0.1:8000/api/category/',
        });

    }

}