В моем приложении 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 был настроен для порта спека и среды. Может ли кто-нибудь дать мне то, что мне здесь не хватает и как мне этого добиться Помощь высоко ценится.