Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- W
- firestoredatabase
- web
- JavaScript
- http
- Fetch
- CSS
- HTML
- Database
- Cloud
- supabase
- Github Pages
- til
- useEffect
- db
- nosql
- API
- TMDB
- SQL
- Boostrap
- IntersectionObserver
- Protocol
- data
- github
- bootstrap
- REACT
- this
- jQuery
- 배포
- url
Archives
- Today
- Total
072DATA
json-server 사용하기 본문
json-server란?
json-server는 간단한 API 서버를 빠르게 만들 수 있는 도구이며 JSON 파일을 RESTful API로 변환해줌
프론트엔드 개발 시 데이터를 처리하거나 간단한 백엔드 기능을 구현할 때 유용함
설치 및 설정
프로젝트에 json-server 설치
npm install json-server
yarn add json-server
프로젝트 루트에 db.json 파일을 생성하고, 해당 파일에 초기 데이터를 작성
{
"users": [
{ "id": 1, "name": "Alice" },
{ "id": 2, "name": "Bob" }
]
}
서버 실행하기
npx json-server db.json --port 3000
yarn json-server db.json --port 3000
API 호출
import React, { useEffect, useState } from 'react';
const Users = () => {
const [users, setUsers] = useState([]);
useEffect(() => {
fetch('http://localhost:5000/users')
.then((response) => response.json())
.then((data) => setUsers(data));
}, []);
return (
<div>
<h1>사용자 목록</h1>
<ul>
{users.map((user) => (
<li key={user.id}>{user.name}</li>
))}
</ul>
</div>
);
};
export default Users;
fetch 또는 axios를 사용하여 API를 호출하여 사용!!
axios 설치 => npm install axios 또는 yarn add axios
POST, PUT, DELETE 요청
json-server는 GET뿐만 아니라 POST, PUT, DELETE 요청도 가능함
React에서 데이터를 추가하거나 수정하려면 똑같이 fetch나 axios로 요청을 보내면 됨!!
POST 요청을 통해 데이터를 추가하는 방법
const addUser = async (name) => {
await fetch('http://localhost:5000/users', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ name })
});
};
'Anything > 끄적끄적' 카테고리의 다른 글
최종 프로젝트 계획하기 ( MVP와 UT ) (2) | 2024.10.19 |
---|---|
TanStack Query 정리 ( useQuery, useMutation ) (0) | 2024.09.13 |
`끄적끄적` 인증과 인가 간단한 개념 정리 ( 쿠키, 세션, 토큰, JWT ) (0) | 2024.09.09 |
`끄적끄적` .env 로 환경 변수 관리하기 (VITE) (0) | 2024.08.29 |
`JavaScript` 템플릿 리터럴 (Template Literal) (0) | 2024.08.11 |