상세 컨텐츠

본문 제목

100724 TIL

TIL

by wangmandoo1 2024. 10. 7. 20:12

본문

 

HTTP 상태 코드 

 

 

 

4xx 클라이언트오류 = 내잘못 

5xx 서버오류 

 

특정 http 요청이 성공적으로 완료 되었는 지알려줌 

 

1xx 정보응답 거의 사용x , 

 

2xx 성공응답 , 요청성공! get 요청에 대한대답

 

3xx 리다이렉션 메시지 , 요청이 완료 될때 까지 추가적인 행동이필요함 

 

4xx 클라이언트에러 응답 , 클라이언트의 잘못된 요청으로 서버가 이해 못함

 

5xx 서버 에러 응답 , 서버측의 오류 


REST API. 

 

 

http 를 통해서 데이터를 교환 할 떄 사용 

 

클라이언트 - 서버 구조 

 

클라이언트와 서버의 역할을 명확하게 분리함

 

클라이언트 ; 사용자 인터페이스 제공 

 

서버 : 데이터 저장 , 처리하는 기능 담당 

 

클라이언트는 서버에 요청을 보내고 서버는 그에 응답함 .


 

stateless 무상태성 

 

모든 요청은 독립적 이다 . 

 

서버클라이언트의 이전 요청에 대한 정보를 저장하지 않는다  .

 

각 요청에는 필요한 모든 정보가 포함되어있어야함. 

 


http 메서드 

restful api 는 http 메서드를 사용 하여 클라이언트가 서버와 

 

상호작용을 할 수있음 

 

각 메서드는 특정 작업을 나타내며 , 리소스에 대한 다양한 CRUD 작업을 한다 

 

GET: 서버에서 리소스를 조회 , 데이터 조회를 할 때 사용 서버의 상태를 변경하지 않는다 retrieve 

 

POST: 서버에 새로운 리소스를 생성한다 .클라이언트가 데이터를 서버로 전송하고 서버는 이를처리하여 리소스를 생성한다 create

 

PUT: 기존 리소를 수정하거나 리소스가 없을 경우 새로 생성할 수 있다 update 

 

DELETE:  리소스를 삭제  remove 

 

PATCH: 리소스의 일부를 수정할 때 사용 

 

 


tanstackquery 

 

비동기 데이터를 효율적으로 관리하고 요청할수있게 해주는 

 

데이터 패칭 라이브러리.

 

자동캐싱 ,동기화 

비동기 데이터 관리 

데이터 자동 재요청

탄력적인 리페치 .

 

파일만들기 yarn create vite tanstack-query-app --template react

 

설치 yarn add @tanstack/react-query

 

useQuery  특정 데이터를 서버에서 가져오기 위한 훅hook. 

데이터를 비동기적으로 요청하고 그 상태 로딩 성공 에러 등 관리 할 수있다 

데이터 조회에 사용 

get 에 해당됨 

 

const { data, error, isLoading } = useQuery(queryKey, queryFn);

 

queryKey: 고유한 키 ,해당 쿼리의 데이터를 식별 

이 키를 기준으로 캐싱이 이뤄진다

 

queryFn : 데이터를 가져오는 비동기 함수 

주로 api 호출을 포함 

 

data :쿼리로 가져온 데이터 

error: 요청중 발생한 에러 

isLoading: 데이터 로딩 중 상태를 나타내는 플래그 

 

 

 

const { data, error, isLoading } = useQuery(['todos'], fetchTodos);

if (isLoading) return 'Loading...';
if (error) return 'An error occurred: ' + error.message;

return (
  <ul>
    {data.map(todo => (
      <li key={todo.id}>{todo.title}</li>
    ))}
  </ul>
);

 

useMutation 

데이터를 서버에 전송하거나 업데이트 하는 데 사용 

서버에 데이터를 POST, PUT , DELETE 할 때 주로 사용 

데이터 변경에 사용 

데이터 전송or 수정 

p p d 로 외우자 

modify 에 해당됨 

 

const mutation = useMutation(mutationFn, options);

 

mutationFn: 서버에 데이터를 변경하는 비동기 함수. 예를 들어, 새로운 데이터를 추가하거나 업데이트하는 작업을 수행

options: 성공, 에러, 완료 시 호출되는 콜백 함수와 같은 추가 설정을 포함

 

mutate: 실제로 변화를 트리거하는 함수.

status: 변화를 처리 중인지, 성공했는지, 실패했는지 등의 상태 정보.

isLoading, isError, isSuccess: 각각 요청 상태를 나타내는 플래그.

 

 

 

useQuery 와 useMutation 의 차이점 

 

useQuery 는 데이터 조회에 사용 , 데이터를 가져오는 동안 로딩 상태와 에러 상태를 관리 

 

useMutation 데이터 변경에 사용 새로운 데이터를 서버에 추가하거나 수정 삭제 처리 

 

invalidate - refresh 

invalidateQueries 

검증하지않는다 . 무효화 한다 

 

 

'TIL' 카테고리의 다른 글

101024 TIL  (2) 2024.10.10
100824 TIL  (0) 2024.10.08
100424 TIL  (1) 2024.10.04
100324 til  (1) 2024.10.03
100224 til  (2) 2024.10.02

관련글 더보기