2017-04-13 7 views
0

나는 cartId를 저장하기 위해 고속 세션에서 루프백을 사용하고 있습니다.루프백 모의 세션

하지만 테스트 세션을 진행하려면 cartId를 요청 세션에 삽입해야합니다.

그래서 내 원격 메소드에 나는
Cart.get = function (req, cb) { 
    Service.getCart(req, req.session.cartId) 
    .then(function (result) { 
     cb(null, result); 
    }) 
    .catch(cb); 
}; 

Cart.remoteMethod(
    'get', 
    { 
     accepts: { arg: 'req', type: 'object', 'http': { source: 'req' } }, 
     returns: { arg: 'cart', type: 'object', root: true }, 
     http: { path: '/', verb: 'get' } 
    } 
); 

가 어떻게 내 시험 req.session.cartId 강제 할 수 있나요?

감사

답변

0

내가 제대로 사건을 이해한다면, 당신은 아래의 코드, 당신은 당신의 get 메소드의 정의에 또 다른 PARAM (cardId)를 추가 할 수 비슷한 작업을 수행 할 수 있습니다

Cart.remoteMethod('get',{ 
     accepts: [ 
     { arg: "caseId", type: "number", http: {source:'path'} }, 
     { arg: 'req', type: 'object', http: { source: 'req' } } 
     ], 
     returns: { arg: 'cart', type: 'object', root: true }, 
     http: { path: '/:caseId/getCart', verb: 'get' } 
    }); 
0

당신이 할 수있는 단순히 "get"원격 메소드를 사용하고 URL을 통해 cartId를 전달하거나 URL에 대한 cartied 가시성에 대해 걱정이된다면 post 메소드를 다음 코드로 사용할 수 있습니다. 다음 cart.js 파일을 사용하고 루프백 API를 탐색하십시오.

module.exports = function (Cart) { 

    Cart.getCart = function (cartId, cb) { 
    Cart.findOne({ 
     where: { cartId : cartId } 
    }, function (err, cart) { 
     cb(null, users); 
    }); 
    }; 

Cart.remoteMethod('getCart', { 
    accepts: { 
     arg: "id", 
     type: "string", 
     required: true 
    }, 
    returns: { 
     arg: 'cart', 
     type: 'object' 
    }, 
    http: { 
     path: '/:cartId/getcart', 
     verb: 'get' 
    } 
    }); 

}; 

get call : http://HOST:IP/cart/YourID/getcart 

당신은 ID로 카트를 가져옵니다. 희망이 있습니다.