request ~
로 시작replaceAPI
로 받는걸로 통일export
필수export const requestAlarmsRead = (data = {}) => {
const queryData = queryInfoData['alarmsRead']
const info = queryFilter({ queryData, originDataInfo: data })
const urlData = queryFilter({ queryData, queryType: 'urlQuery', originDataInfo: data })
return axios[queryData.method](queryData.replaceAPI({ ...urlData }), info)
}
- 모든 js 파일을 export
export * from './api'
export { default as queryInfoData } from './queryInfoData'
export * from './reducer'
export * from './saga'
API
method
bodyQuery
urlQuery
replacAPI
/**
* * alarm 등록 POST
* * alarm/?category={categoryId}&url={urlId} (all Required)
* * JWT 필요
*/
alarmCreate: {
API: 'alarm/?category={categoryId}&url={urlId}',
method: 'post',
bodyQuery: {
name: '',
reserved_time: {
year: '',
month: '',
day: '',
hour: '',
minute: '',
},
},
urlQuery: {
categoryId: '',
urlId: '',
},
replaceAPI({ categoryId, urlId }) {
if (!categoryId || !urlId) return
return this.API.replace('{categoryId}', categoryId).replace('{urlId}', urlId)
},
},
state 명
은 상수화requestAciton
+ asyncThunkAction
, normalAction
createReducer
로 통일 (switch문 제거)