Как сделать только один сервисный слой для всего запроса в реагировать js? - PullRequest
0 голосов
/ 24 сентября 2018

Я хочу создать универсальный сервисный уровень, который будет обрабатывать все запросы вactjs.

Вот код, который я сделал до сих пор:

Это действие thunk, из которого сервисный уровень,Метод postRequest получает все параметры, необходимые для вызова API.

bankCustomerThunkAction.js

    export const fetchBankCustomers = (filterType, searchParam) => dispatch => {
apiServices.postRequest(urlBuilders.getUrlAppenderWithParams(bankCustomerApiConstant.GET_BANK_CUSTOMER_STATISTICS, "filter", filterType), searchParam).then((response) => dispatch(actions.getBankCustomerStatisticsWithDate(response))).catch(error => console.log("error", error))

}

это единственный сервисный уровень, из которого бэкэнд APIзапрашивается

service.js

 export const postRequest = (url, data) => Axios({method: 'POST' , url:url , data : data})

Достаточно ли сделать это или есть другие альтернативы?

1 Ответ

0 голосов
/ 24 сентября 2018

То, как вы делаете это правильно, я думаю.

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

То есть

bankCustomerThunkAction.js -> DataService.js -> service.js

bankCustomerThunkAction.js

dataService.bankCustomerThunkAction().then().catch()

DataService.js -> Здесь вы можете указать код заголовка или любой необязательный код параметров

export bankCustomerThunkAction ()=>apiServices.postRequest(urlBuilders.getUrlAppenderWithParams(bankCustomerApiConstant.GET_BANK_CUSTOMER_STATISTICS, "filter", filterType), searchParam).then((response) => dispatch(actions.getBankCustomerStatisticsWithDate(response))).catch(error => console.log("error", error))
...