Как динамически изменять конечные точки API на основе зарегистрированных пользовательских данных - PullRequest
0 голосов
/ 10 января 2019

В моем приложении React. Я пытаюсь сделать конечные точки настраиваемыми на основе различных сред, таких как локальные, разработки и Prod. Итак, чтобы добиться этого, я создал конфигурационный файл со следующими деталями -

endpoint.json-

{
    "User1" : {
        "local" : "http://localhost:8080",
        "dev" : "http://dev:8080",
        "prod" : "http://prod:8080"
    },
    "User2" : {
        "local" : "http://localhost:8081",
        "dev" : "http://dev.com:8081",
        "prod" : "http://prod.com:8081"
    },
    "User3" : {
        "local" : "http://localhost:8082",
        "dev" : "http://dev.com:8082",
        "prod" : "http://prod.com:8082"
    }
}

config.json-

{
    "Ramy":  {
                "id": "123",
                "user": "Ramy",
                "member": "User1"
            },
    "Joe":  {
                "id": "134",
                "user": "Joe",
                "member": "User2"
            },
   "Joey":  {
                "id": "356",
                "user": "Joey",
                "member": "User3"
            }
 }

Я выполняю вызовы API в моем action.js. Вот код -

  import configData from "../config/config";  
  import endpoint from "../config/endpoint";

    export const createData = (postData,obj)  => dispatch => {

        axios({
            method: 'POST',
            url: "http://dev.com:8080/api",
            headers: {
              'Content-Type': 'application/json',
              'UserData': localStorage.getItem('UserData') || 'No Token Found'
            },
            data: postData
          })
          .then (response => {
          dispatch({
            type: API_CREATE, 
            payload: response.data
          })
          })
          .catch(function(error) {       
            dispatch({
              type: SET_ERROR_DESC
            })
          })
    }

Я хочу, чтобы URL был достаточно настраиваемым, чтобы мне не нужно было менять конечные точки для другого пользователя в другой среде. Он должен автоматически обнаруживать и перенаправлять соответственно.

Кроме того, у меня есть данные в моем конфиге, json, которые я их кодирую и сохраняю в localStorage. Итак, основываясь на вошедшем в систему пользователе, я бы хотел, чтобы URL API был настроен для порта спека и среды. Может ли кто-нибудь дать мне то, что мне здесь не хватает и как мне этого добиться Помощь высоко ценится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...