SlideShare a Scribd company logo
1 of 58
Download to read offline
멋쟁이사자처럼
2학기
API 서버 CRUD
서강대 멋사 박정현
우리가 이미 알고 있는 CRUD..!
API서버에서 CRUD를 해보자!
CRUD 기능이 탑재된 API 서버
모든 유저 정보: [GET] ‘/users’
특정 유저 정보: [GET] ‘/users/:id’
새로운 유저 만들기: [POST] ‘/users’
특정 유저 수정: [PATCH] ‘/users/:id’
특정 유저 삭제: [DELETE] ‘/users/:id’
https://railscrudapi.herokuapp.com
User
id / email / name / password
실습1
포스트맨을 통해서
API서버에서 CRUD를 마음껏 해보자!
프론트엔드
백엔드
요청 응답
이제 ‘프론트’에서
API서버 CRUD를 해보자!
1) Ajax로 users 가져와서
콘솔에 찍기
페이지가 로드 되자 마자 start함수 실행!
2) 가져온 데이터
뿌려주기
3) 유저 생성하기
-일단 여기까지-
2인 1조로 코드 분석
모두 이해가 된 사람은
‘만들기’ 눌렀을 때
모든 유저들 정보를 새로 가져와서
뿌려주게 만들기!
4) 유저 삭제하기
실습2
난이도: ★ ★ ★ ★☆
4인 1조 ㄱㄱ
시나리오
1) 유저 옆에 삭제 버튼 생성
2) 버튼 눌렀을 때 삭제하는 함수 만들기
*유저 삭제 땐 뭐가 필요하더라? User의 Id
해당 User의 Id를 어떻게 함수로 넘길 수 있을까?
3) 삭제 누르면 새로 모든 user 리스트를 가져옴
https://github.com/Rocket-Hyun/__HTML__ajax-example
깃헙
실습 할 땐 보지마세염
이제 프론트는 끝!
다른 프론트들도 다 이와 같은 방식!
프론트엔드
백엔드
요청 응답
https://github.com/Rocket-Hyun/__RailsAPI__Basic-CRUD
레일즈 깃헙
2인 1조 해서 코드 이해
클론 받아서
app/controllers/users_controller.rb 파일 확인
레일즈 api 가지고 놀기!
일반 레일즈 레일즈 APIVS
M
V C
일반 레일즈
M
C
레일즈 API
V
레일즈 API일반 레일즈
레일즈 API일반 레일즈
<<<<
훨씬 빠르다
API
* C9 환경 기준
나의 레일즈 api 만들기
Thanks to 양곤쓰~
우선 Rails를 5로 업그레이드 하고
--api 명령어로 레일즈 프로젝트 재 생성
1) Gemfile 수정
2) Bundle update rails
3) .c9 빼고 모든 폴더 삭제
4) rails new . --api
현재 폴더에 만들겠다!
다음 주
카카오톡 봇 개발 ㄱㄱ
*카카오톡 봇이 무엇인지 모르겠다면?
라이언봇 친추 ㄱㄱㄱ

More Related Content

Similar to 루비온레일즈 API 서버 - 3) api 서버 CRUD

Similar to 루비온레일즈 API 서버 - 3) api 서버 CRUD (10)

Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 인프라 서비스 연동 (CB-Spider)
Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 인프라 서비스 연동 (CB-Spider)Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 인프라 서비스 연동 (CB-Spider)
Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 인프라 서비스 연동 (CB-Spider)
 
I os push: 세상에서 가장 간단한 날씨, 대기환경 엡
I os push:  세상에서 가장 간단한  날씨, 대기환경 엡I os push:  세상에서 가장 간단한  날씨, 대기환경 엡
I os push: 세상에서 가장 간단한 날씨, 대기환경 엡
 
2Naver Open Android API Translation At DCamp
2Naver Open Android API Translation At DCamp2Naver Open Android API Translation At DCamp
2Naver Open Android API Translation At DCamp
 
라즈베리파이와 자바스크립트로 IoT 시작하기
라즈베리파이와 자바스크립트로 IoT 시작하기라즈베리파이와 자바스크립트로 IoT 시작하기
라즈베리파이와 자바스크립트로 IoT 시작하기
 
Python on Android
Python on AndroidPython on Android
Python on Android
 
Opensource apm scouter in practice
Opensource apm scouter in practiceOpensource apm scouter in practice
Opensource apm scouter in practice
 
Opensource apm scouter in practice
Opensource apm scouter in practiceOpensource apm scouter in practice
Opensource apm scouter in practice
 
1760014_김태수__학술제.pptx
1760014_김태수__학술제.pptx1760014_김태수__학술제.pptx
1760014_김태수__학술제.pptx
 
안드로이드 OAuth 1.0a, 2.0 구현 - Naver, Google API
안드로이드 OAuth 1.0a, 2.0 구현 - Naver, Google API 안드로이드 OAuth 1.0a, 2.0 구현 - Naver, Google API
안드로이드 OAuth 1.0a, 2.0 구현 - Naver, Google API
 
postgres_빌드_및_디버깅.pdf
postgres_빌드_및_디버깅.pdfpostgres_빌드_및_디버깅.pdf
postgres_빌드_및_디버깅.pdf
 

More from Junghyun Park

More from Junghyun Park (7)

Pandas governance 한국어 정리
Pandas governance 한국어 정리Pandas governance 한국어 정리
Pandas governance 한국어 정리
 
루비온레일즈(Ruby on rails) 뷰헬퍼(view helper) Top4 사용법
루비온레일즈(Ruby on rails) 뷰헬퍼(view helper) Top4 사용법루비온레일즈(Ruby on rails) 뷰헬퍼(view helper) Top4 사용법
루비온레일즈(Ruby on rails) 뷰헬퍼(view helper) Top4 사용법
 
루비온레일즈(Ruby on rails)와 친숙해지기
루비온레일즈(Ruby on rails)와 친숙해지기루비온레일즈(Ruby on rails)와 친숙해지기
루비온레일즈(Ruby on rails)와 친숙해지기
 
루비온레일즈 API 서버 - 4) api 서버 인증 구현 (쿠키/세션/토큰)
루비온레일즈 API 서버 - 4) api 서버 인증 구현 (쿠키/세션/토큰)루비온레일즈 API 서버 - 4) api 서버 인증 구현 (쿠키/세션/토큰)
루비온레일즈 API 서버 - 4) api 서버 인증 구현 (쿠키/세션/토큰)
 
루비온레일즈로 카카오톡 봇 만들기
루비온레일즈로 카카오톡 봇 만들기루비온레일즈로 카카오톡 봇 만들기
루비온레일즈로 카카오톡 봇 만들기
 
루비온레일즈 API 서버 - 2) api 서버에 대한 이해 및 맛보기
루비온레일즈 API 서버 - 2) api 서버에 대한 이해 및 맛보기루비온레일즈 API 서버 - 2) api 서버에 대한 이해 및 맛보기
루비온레일즈 API 서버 - 2) api 서버에 대한 이해 및 맛보기
 
루비온레일즈 API 서버 - 1) 인터넷 구조에 대한 대략적인 이해
루비온레일즈 API 서버 - 1) 인터넷 구조에 대한 대략적인 이해루비온레일즈 API 서버 - 1) 인터넷 구조에 대한 대략적인 이해
루비온레일즈 API 서버 - 1) 인터넷 구조에 대한 대략적인 이해
 

Recently uploaded

Recently uploaded (8)

JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
 
데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법
 
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
 
공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례
 

루비온레일즈 API 서버 - 3) api 서버 CRUD