2017-11-10 9 views
1

React-Django 응용 프로그램. 사용자가 Axios PUT을 통해 사용자 이름과 암호를 제공하여 로그인하면 올바른 JWT와 사용자 이름이 반환되면 모두 sessionStorage에 저장됩니다. 그러면 사용자는 자동으로 /home으로 라우팅되며 사용자에게 특정 정보가 입력됩니다.Axios를 사용하여 GET 요청에서 사용자 이름을 보내는 방법

/homeGET이며 Axios를 통해 데이터베이스의 /home에 대한 내용입니다. 일부는 정적이며 일부는 사용자와 관련이 있습니다 (예 : first_name). 이 정보를 검색하기 위해 JWT와 함께 사용자 이름을 보내려고하지만 확실하지는 않습니다.

이것은 환영 메시지와 같은 정적 콘텐츠를 가져 오는 작업입니다. 그냥 username을 보내고 싶습니다. 로직 서버 측을 추가하여이 사용자에 대한 정보를 검색하고 응답을 다시 보낼 수 있습니다. 나는이 정보를 쉽게 보낼 수 있습니다 알고 곳

import axios from 'axios'; 
import { push } from 'react-router-redux'; 
import { ROOT_URL } from '../../config/config.json'; 

// Establish the different types 
export const WELCOME_MESSAGE = 'welcome_message'; 

export function getWelcome() { 

    return function(dispatch) { 
     axios 
      .get(
       `${ROOT_URL}/api/home/`, 
       { headers: 
        { 
         'Content-Type': 'application/json', 
         'Authorization': 'JWT ' + sessionStorage.getItem('token') 
        } 
       } 
      ) 
      .then(response => { 
       dispatch({ 
        type: WELCOME_MESSAGE, 
        payload: response.data 
       }); 
      }) 
      .catch(error => { 
       console.log("Broke"); 
      }); 
    } 
} 

최악의 경우, 난 그냥 POST와 다른 기능을합니다.

답변

1

그래서 사용자 이름을 GET 요청 방법을 AXIOS로 보내고 싶습니다.
당신은 당신이 URL 쿼리에서 사용자 이름을 액세스 할 수있는 백엔드에 따라서 쿼리로 URL에 그 사용자 이름을 보낼 수 있습니다
예 : $ {ROOT_URL}/API/홈 이름 = rahulrana
?
GET 방법을 통해이를 수행 할 수 있습니다.
URL을 통한 쿼리를 통해서만 정보를 보낼 수 있습니다.

+0

확인해 주셔서 감사합니다. 실현을 시작하면서 REST를 더 잘 이해해야합니다. – sockpuppet

+0

No Problem.Just 나머지 방법으로 데이터를 다루는 방법을 살펴보십시오. –

+0

@sockpuppet 실제로 이것은 표준 API 요청 일 뿐이며, 동일한 유형의 RESTful 요청은'/ api/users/rahulrana/components/home'이며, 여기서'users' 및'components'는 자원 이름을 설명하고, 'rahulrana '와'home'은 각각의 자원에 대한 식별자를 기술한다. Rahul은 요청에 본문이 없으므로 GET 요청은 URI 자체를 통해 매개 변수를 전달해야하지만 올바른 매개 변수는 쿼리에 포함되지 않아 URI의 일부가 될 수 있다고 말하는 것이 옳다. 그런 식으로 API를 디자인하기로 결정했습니다. – Jaxx