Curl 및 HTTP 상태 코드에 대해 자세히 알아보기 _100DaysOfCode 챌린지 2 일째
소개
이 기사는 Twitter에서 인기 해시 태그
#100DaysOfCode
를 붙여,100일간 프로그래밍 학습을 계속하는 도전에 도전한 2일째의 기록입니다.
운영 환경
현재 학습중인 내용의 저장소
오늘 배운 것
configfile_watcher
설정 curl 명령 옵션 정보
curl은 URL을 사용하여 데이터 전송 및 API 응답을 확인할 수 있는 명령줄 도구입니다.
기본적으로 포함되어 있지 않으면 별도 설치가 필요합니다.
# Ubuntuの場合
sudo apt-get install curl
# Macの場合
brew install curl
-v:HTTP 요청에 대한 자세한 정보 표시
사용법
curl http://localhost:3000/contacts -v
출력 결과
* Trying ::1...
* TCP_NODELAY set
* Connection failed
* connect to ::1 port 3000 failed: Connection refused
* Trying 127.0.0.1...
* TCP_NODELAY set
* Connected to localhost (127.0.0.1) port 3000 (#0)
> GET /contacts HTTP/1.1
> Host: localhost:3000
> User-Agent: curl/7.54.0
> Accept: */*
>
< HTTP/1.1 200 OK
< Content-Type: application/json; charset=utf-8
< ETag: W/"af9adc760a6000018e12eca41ba5fcd1"
< Cache-Control: max-age=0, private, must-revalidate
< X-Request-Id: 6757a209-b0bf-4109-93e8-bad6fd350197
< X-Runtime: 0.360681
< Transfer-Encoding: chunked
<
****
以下Body情報
****
-X:HTTP 메소드 지정
사용법
curl http://localhost:3000/contacts -X POST -H "Content-Type: application/json" -d '{"name": "Daniel", "email": "daniel.dany.com"}'
여기에서는 HTTP 메소드로서 POST를 지정.
-d
를 붙임으로써 POST할 데이터를 지정할 수 있다.또,
-H "Content-Type: application/json"
로서 -H
옵션으로 헤더 정보를 부여하면 JSON 형식으로 데이터를 송부하는 것이 가능.그 때, POST 하는 데이터는
key: value
의 형식으로.GET에 대해서는 디폴트로 지정되어 있으므로, 기본적으로는
POST/PATCH/DELETE
를 사용한다.-i : 출력에 HTTP 헤더 정보 포함
사용법
curl http://localhost:3000/contacts -i
출력 결과
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
ETag: W/"af9adc760a6000018e12eca41ba5fcd1"
Cache-Control: max-age=0, private, must-revalidate
X-Request-Id: 2a8fdd62-b109-4ec3-87c9-3319d665634d
X-Runtime: 0.460770
Transfer-Encoding: chunked
****
以下Body情報
****
HTTP 상태 코드
1XX계
HTTP 상태에 포함된 정보
2XX계
요청 성공
3XX계
요청 리디렉션
4XX계
클라이언트 측 오류
5XX계
서버측 오류
상태 코드에 대한 자세한 내용은 아래 링크를 참조하십시오.
htps : // s 가짜 s. 이 m
Rails에서 상태 코드를 지정하는 방법
사용법
status: :rails_code
기호로 상태 코드를 전달할 수 있습니다. 기술 장소는 각 controller의 메소드내에서.
예
def create
@contact = Contact.new(contact_params)
if @contact.save
render json: @contact, status: :created, location: @contact
else
render json: @contact.errors, status: :unprocessable_entity
end
end
파일 변경을 즉시 반영하는 설정
# config/environments/development.rb
config.file_watcher = ActiveSupport::FileUpdateChecker
rails server를 재기동하지 않아도 파일의 변경을 즉시 반영할 수 있다.
Postman 사용법
Chrome 웹 스토어에서 Postman 및 검색.
다운로드가 완료되면 열립니다.
GET에서 사용하는 방법
POST에서 사용하는 방법
참고 링크
Reference
이 문제에 관하여(Curl 및 HTTP 상태 코드에 대해 자세히 알아보기 _100DaysOfCode 챌린지 2 일째), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yuta-ushijima/items/b5f780859db07b27849e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)