передать переменную в Restful

0

мой вопрос: как я могу передать переменную (java-скрипт) в команду rest apllication

Эта одна из моих функций в моем контроллере.js: этот код sampel работает, но я не могу использовать мою электронную почту и пароль var. на данный момент я использую URL-адрес для входа в систему (url: 'rest/ab/einloggen/[email protected]/22'). Но как я могу использовать var email ([email protected]) и passwort (22).

app.controller('loginCtrl', function($scope, $location,$http){
$scope.submit = function(){
var email = $scope.username;
var password = $scope.password;


$http({
    method : 'GET',
    url : 'rest/ab/einloggen/[email protected]/22'
}).success(function(data, status, headers, config) {
   console.log(data);
   if(data=="true"){
        $location.path('/eingeloggt');
        console.log("lalala");  
   }


}).error(function(data, status, headers, config) {
        // called asynchronously if an error occurs
        // or server returns response with an error status.
        });

};

});

Вот функция входа в систему:

@Path("/einloggen/{username}/{passwort}")
@GET
public String einloggen(@PathParam("username") String Username,@PathParam("passwort") String Passwort)
    {
        // Bekomme die strings
        Business b = new Business();
        boolean test =b.einloggen(Username, Passwort);
        //Return einer JSON
        String ersatzBool ="false";
        if(test==true){
            ersatzBool="true";
        }

         return ersatzBool;

    }
  • 0
    У вас уже есть этот фрагмент: url : 'rest/ab/einloggen/[email protected]/22' . Заметьте что-нибудь? Я помогу вам: электронная почта и пароль уже являются частью строки. Поэтому, если вы хотите использовать переменные для электронной почты и пароля, вы можете 'rest/ab/einloggen/' + email + '/' + password URL-адрес, используя конкатенацию строк, например что-то вроде 'rest/ab/einloggen/' + email + '/' + password (обратите внимание, что это не обязательно правильный синтаксис, это просто для того, чтобы дать вам представление).
  • 0
    ооо да правильно звучит правильно. Я попробую это
Теги:
rest

2 ответа

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

если вы хотите передать данные в webapi, вы можете использовать "POST" вместо "GET". В приведенном ниже примере я передал данные json {id: 2} и получил ответ в виде списка продуктов. В методе api post id 2 доступен.

 $http.post('http://localhost:1011/productDetails', { Id: 12 }, {
              headers: {
                  'Content-MD5': '917200022538',
                  'Accept': 'application/Json',
                  'Content-Type': 'application/Json'
              }
          }).then(onUserComplete, onError);

    var onUserComplete = function (response) {
        $scope.Products = response.data;
    };

    var onError = function (reason) {
        $scope.error = "Error while fetching records.";
    };
  • 0
    да, спасибо. Это поможет мне
0

Это то, что мне приходилось делать при общении с сервером (приложение CMS - Contentstack) с использованием Restful api, одна поразительная разница заключалась в том, что мне пришлось использовать authtoken.

$http({
    url: siteUrl,
    method: methode,
    headers: {
        access_token: auth_token,
        api_key: site_api_key,
        Accept: data_type, // --> 'application/json, text/plain, */*'
    },
    data: dataBody
}).then(function (resp) {
    console.log('success ', resp);
    callback(resp);
}, function(err){
    console.log(err, "error");
});
  • 0
    да, спасибо. Это поможет мне

Ещё вопросы

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