はじめに
本記事は、プログラミング初学者が、学習を進めていて疑問に思った点について調べた結果を備忘録も兼ねてまとめたものです。
そのため、記事の内容に誤りが含まれている可能性があります。ご容赦ください。
間違いを見つけた方は、お手数ですが、ご指摘いただけますと幸いです。
axiosによるHTTPリクエスト
Client.js
// axios-case-converterは、snake_case / camelCaseを変換するため利用
import applyCaseMiddleware from "axios-case-converter";
// axiosをインポート
import axios from "axios";
// ヘッダーはケバブケースのままにする
const options = {
ignoreHeaders: true,
};
// URLの共通部分を設定
const client = applyCaseMiddleware(axios.create({
baseURL: "http://localhost:3001/"
}), options)
export default client;
Auth.js
import client from './Client'
import Cookies from 'js-cookie'
// サインアップ
export const signUp = (params) => {
return client.post("auth", params)
}
// サインイン
export const signIn = (params) => {
return client.post("auth/sign_in", params)
}
// サインアウト
export const signOut = () => {
return (client.delete(
"auth/sign_out", {
headers: {
"access-token": Cookies.get("_access_token"),
"client": Cookies.get("_client"),
"uid": Cookies.get("_uid")
}
}
))
}
// 認証済みのユーザーを取得
export const getCurrentUser = () => {
if (!Cookies.get("_access_token") || !Cookies.get("_client") || !Cookies.get("_uid"))
return (client.get(
"/auth/sessions",{headers: {
"access-token": Cookies.get("_access_token"),
"client": Cookies.get("_client"),
"uid": Cookies.get("_uid")
}}
))
}