-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Basic 정진호 sprint4 #38
The head ref may contain hidden characters: "basic-\uC815\uC9C4\uD638-sprint4"
Basic 정진호 sprint4 #38
Conversation
@@ -0,0 +1,92 @@ | |||
async function getArticleList(page=1, pageSize=10, keyword="") { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
javascript 여서 타입체크를 하지 않고 바로 값을 받을 수 있는 상황입니다.
예를들어 page 파라미터 위치에 숫자가 아닌 다른 문자열 값이 넘어와도 그대로 수행됩니다.
추후에 typescript 를 배우면 그런 문제는 ide 에서 바로 경고가 뜨겠지만 지금은 그렇지 않은 상황이니 유효성 체크를 해주는 방식을 익혀두시고 수업 진도에 맞게 유효성 체크 기술을 사용해주시면 좋겠습니다.
여기서는 page, pageSize 가 number 타입인지 양수의 숫자가 제대로 들어왔는지 체크해주는 로직이 들어가면 좋겠습니다.
참고 : [isInteger]
} | ||
|
||
async function getArticle(id) { | ||
const url = `https://sprint-mission-api.vercel.app/articles/${id}`; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
공통되는 url 은 파일 상단 또는 상수로 따로 관리하는걸 추천드립니다.
https://sprint-mission-api.vercel.app
해당 부분은 api의 엔드포인트이므로 별도로 공통 관리하는 방법을 주로 사용합니다.
} | ||
} | ||
|
||
async function getArticle(id) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
id 가 number 타입이라면 제대로 number 타입인지 양수인지 체크해주는 유효성 로직을 추가해주세요.
} | ||
|
||
async function createArticle(title, content, image) { | ||
const url = "https://sprint-mission-api.vercel.app/articles"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
해당 부분도 마찬가지로 공통으로 url 을 선언하여 사용하는걸 권장드립니다!
@@ -0,0 +1,93 @@ | |||
async function getProductList(page = 1, pageSize = 10, keyword = "") { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
여기도 유효성 체크 로직 추가!
@@ -0,0 +1,93 @@ | |||
async function getProductList(page = 1, pageSize = 10, keyword = "") { | |||
const url = `https://sprint-mission-api.vercel.app/products?page=${page}&pageSize=${pageSize}&keyword=${keyword}`; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
url 상수로 분리 필요합니다!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
export 를 하단에 모아서 작성하셔도 되긴 하지만 일반적으로 함수 앞에 선언을 많이 해서 사용합니다.
함수 앞에 선언하면 하단에 다시 함수이름을 선언하지 않아도 되고 어떤 함수가 export 되었는지 유무도 한눈에 보이므로
함수에 같이 선언해주세요!
이번 스프린트도 고생 많았습니다 진호님! 코멘트 달아드린 부분들 확인해보고 코드를 더 수정해보세요! |
요구사항
기본 요구사항
공통
Github에 스프린트 미션 PR을 만들어 주세요.
'https://sprint-mission-api.vercel.app/articles' API를 이용하여 아래 함수들을 구현해 주세요.
getArticleList()
: GET 메서드를 사용해 주세요.page
,pageSize
,keyword
쿼리 파라미터를 이용해 주세요.getArticle()
: GET 메서드를 사용해 주세요.createArticle()
: POST 메서드를 사용해 주세요.title
,content
,image
를 포함해 주세요.patchArticle()
: PATCH 메서드를 사용해 주세요.deleteArticle()
: DELETE 메서드를 사용해 주세요.fetch
혹은axios
를 이용해 주세요..then()
메서드를 이용하여 비동기 처리를 해주세요..catch()
를 이용하여 오류 처리를 해주세요.'https://sprint-mission-api.vercel.app/products' API를 이용하여 아래 함수들을 구현해 주세요.
getProductList()
: GET 메서드를 사용해 주세요.page
,pageSize
,keyword
쿼리 파라미터를 이용해 주세요.getProduct()
: GET 메서드를 사용해 주세요.createProduct()
: POST 메서드를 사용해 주세요.name
,description
,price
,tags
,images
를 포함해 주세요.patchProduct()
: PATCH 메서드를 사용해 주세요.deleteProduct()
: DELETE 메서드를 사용해 주세요.async/await
을 이용하여 비동기 처리를 해주세요.try/catch
를 이용하여 오류 처리를 해주세요.구현한 함수들을 아래와 같이 파일을 분리해 주세요.
export
를 활용해 주세요.ProductService.js
파일 Product API 관련 함수들을 작성해 주세요.ArticleService.js
파일에 Article API 관련 함수들을 작성해 주세요.이외의 코드들은 모두
main.js
파일에 작성해 주세요.import
를 활용해 주세요.