Graphql-Api 연습!
1) 철수의 나이는 몇살인가요?(나이만 조회해 주세요.)
Input
query{
fetchProfile(name:"철수"){
age
}
}
Output
{
"data": {
"fetchProfile": {
"age": 1
}
}
}
2) 영희의 학교는 어디인가요?(학교만 조회해 주세요.)
Input
query {
fetchProfile(name:"영희"){
school
}
}
Output
{
"data": {
"fetchProfile": null
}
}
3) 3번 게시글의 내용과 작성일이 무엇인가요?(내용과 작성일만 조회해 주세요.)
Input
query{
fetchBoard(number:3){
createdAt
contents
}
}
Output
{
"data": {
"fetchBoard": {
"createdAt": "2021-09-01T03:32:03.744Z",
"contents": "우리"
}
}
}
4) 본인의 이름으로 프로필을 작성해 보세요.
Input
mutation{
createProfile(
name:"홍상기"
age:30
school:"다람쥐 초등학교"){
message
}
}
Output
{
"data": {
"createProfile": {
"message": "프로필이 정상적으로 등록되었습니다."
}
}
}
5) 본인의 이름으로 게시글을 작성해 보세요.
Input
mutation {
createBoard(
writer:"홍상기"
title:"첫글"
contents:"없음"){
message
number
}
}
Output
{
"data": {
"createBoard": {
"message": "게시물이 정상적으로 등록되었습니다.",
"number": 125
}
}
}
6) 자신의 프로필을 조회해 보세요.
Input
query{
fetchProfile(
name:"홍상기"){
number
name
age
school
__typename
}
}
Output
{
"data": {
"fetchProfile": {
"number": 128,
"name": "홍상기",
"age": 30,
"school": "다람쥐 초등학교",
"__typename": "ProfileReturn"
}
}
}
7) 자신의 게시글을 조회해 보세요.
Input
query{
fetchBoard(
number:125
){
number
writer
title
contents
like
createdAt
}
}
Output
{
"data": {
"fetchBoard": {
"number": 125,
"writer": "홍상기",
"title": "첫글",
"contents": "없음",
"like": 0,
"createdAt": "2021-09-01T05:48:03.883Z"
}
}
}
8) 본인의 프로필에서, 학교를 자신이 졸업한 초등학교로 바꿔보세요.
Input
mutation{
updateProfile(
school:"소의초등학교"
){
_id
number
message
}
}
Output
{
"data": {
"updateProfile": {
"_id": null,
"number": null,
"message": "프로필이 정상적으로 수정되었습니다."
}
}
}
9) 본인의 게시글에서, 제목과 내용을 바꿔보세요.
Input
mutation {
updateBoard(
number:128
title:"변경 제목 입니다."
contents:"변경 컨텐츠 입니다."){
number
message
}
}
Output
{
"data": {
"updateBoard": {
"number": null,
"message": "게시물이 정상적으로 수정되었습니다."
}
}
}
10) 자신이 좋아하는 만화 주인공으로 프로필을 작성해 보세요.
Input
mutation{
createProfile(
name: "강백호"
age:18
school:"북산고"){
message
number
}
}
Output
{
"data": {
"createProfile": {
"message": "프로필이 정상적으로 등록되었습니다.",
"number": null
}
}
}
11) 위 10번에서 작성한 프로필을 삭제해 보세요.
Input
mutation{
deleteProfile(
name:"강백호"){
message
}
}
Output
{
"data": {
"deleteProfile": {
"message": "프로필이 정상적으로 삭제되었습니다."
}
}
}
12) 상품을 하나 만들어 보세요.
Input
mutation{
createProduct(
seller:"다팔아요"
createProductInput:{
name:"좋은키보드"
detail:"엄청 좋아요"
price:100000
}){
number
_id
message
}
}
Output
{
"data": {
"createProduct": {
"number": null,
"_id": "b06c73d0-9ff0-4a8f-bc45-9080f21c4b1e",
"message": "상품이 정상적으로 등록되었습니다."
}
}
}
13) 위 12번에서 만들었던 상품의 가격을 500원 인상해 보세요.
Input
mutation{
updateProduct(
productId:"b06c73d0-9ff0-4a8f-bc45-9080f21c4b1e"
updateProductInput:{
price:100400
}){
_id
number
message
}
}
Output
{
"data": {
"updateProduct": {
"_id": null,
"number": null,
"message": "상품이 정상적으로 수정되었습니다."
}
}
}
14) 위에서 만든 상품을 조회하되, 가격만 조회해 보세요.
Input
query{
fetchProduct(
productId:"b06c73d0-9ff0-4a8f-bc45-9080f21c4b1e"
){
price
}
}
Output
{
"data": {
"fetchProduct": {
"price": 100400
}
}
}
15) 조회했던 상품을 삭제해 보세요.
Input
mutation{
deleteProduct(
productId:"b06c73d0-9ff0-4a8f-bc45-9080f21c4b1e"){
message
}
}
Output
{
"data": {
"deleteProduct": {
"message": "상품이 정상적으로 삭제되었습니다."
}
}
}
16) 삭제한 상품이 정말로 삭제되었는지 다시 한번 조회해 보세요.
Input
query{
fetchProduct(productId:"b06c73d0-9ff0-4a8f-bc45-9080f21c4b1e"){
detail
}
}
Output
{
"data": {
"fetchProduct": null
}
}
17) 게시물 목록 중, 2페이지를 조회해 보세요.
Input
query{
fetchBoards(page:2){
number
writer
title
contents
like
createdAt
}
}
Output
{
"data": {
"fetchBoards": [
{
"number": 126,
"writer": "이중현",
"title": "코드캠프3일차",
"contents": "지금이걸하고있다",
"like": 0,
"createdAt": "2021-09-01T05:48:47.081Z"
},
{
"number": 125,
"writer": "홍상기",
"title": "첫글",
"contents": "없음",
"like": 0,
"createdAt": "2021-09-01T05:48:03.883Z"
},
{
"number": 124,
"writer": "김여현",
"title": "코드캠프",
"contents": "존경스러울만큼 빡센 것 같아요",
"like": 0,
"createdAt": "2021-09-01T05:44:24.632Z"
},
{
"number": 123,
"writer": "홍상기",
"title": "첫글",
"contents": "없음",
"like": 0,
"createdAt": "2021-09-01T05:43:21.050Z"
},
{
"number": 122,
"writer": "이지원",
"title": "update borard",
"contents": "update",
"like": 0,
"createdAt": "2021-09-01T05:34:14.283Z"
},
{
"number": 121,
"writer": "Lee",
"title": "Messi",
"contents": "Film",
"like": 0,
"createdAt": "2021-09-01T05:34:12.509Z"
},
{
"number": 120,
"writer": "나",
"title": "너",
"contents": "우리",
"like": 0,
"createdAt": "2021-09-01T05:29:58.634Z"
},
{
"number": 118,
"writer": "곰곰이",
"title": "아카시아꿀 구매 방법",
"contents": "인터파크에서 구매 가능",
"like": 0,
"createdAt": "2021-09-01T05:29:40.572Z"
},
{
"number": 117,
"writer": "Lee",
"title": "Messi",
"contents": "Film",
"like": 0,
"createdAt": "2021-09-01T05:28:25.428Z"
},
{
"number": 116,
"writer": "부끄러운 곰숙이",
"title": "달콤한꿀을 구하는 방법",
"contents": "인터파크에서 구매 가능",
"like": 0,
"createdAt": "2021-09-01T05:25:31.040Z"
}
]
}
}
18) 게시물 목록을 조회할 때, page를 입력하지 않으면, 어떤 결과가 발생하나요?
Input
query{
fetchBoards{
number
writer
title
contents
like
createdAt
}
}
Output
{
"data": {
"fetchBoards": [
{
"number": 140,
"writer": "이중현",
"title": "또있데",
"contents": "숙제가",
"like": 0,
"createdAt": "2021-09-01T06:25:25.795Z"
},
{
"number": 139,
"writer": "이상혁",
"title": "코딩천재",
"contents": "코드",
"like": 0,
"createdAt": "2021-09-01T06:18:09.318Z"
},
{
"number": 138,
"writer": "김근아",
"title": "코딩어때?",
"contents": "핵어렵",
"like": 0,
"createdAt": "2021-09-01T06:16:31.681Z"
},
{
"number": 137,
"writer": "최권준",
"title": "이제",
"contents": "쉬워",
"like": 0,
"createdAt": "2021-09-01T06:16:03.188Z"
},
{
"number": 136,
"writer": "이중현짱",
"title": "코드캠프3일차",
"contents": "이거하고있어요",
"like": 0,
"createdAt": "2021-09-01T06:05:38.658Z"
},
{
"number": 135,
"writer": "송경환",
"title": "코드캠프",
"contents": "최고",
"like": 0,
"createdAt": "2021-09-01T06:01:50.708Z"
},
{
"number": 134,
"writer": "이지원",
"title": "my board",
"contents": "new board",
"like": 0,
"createdAt": "2021-09-01T06:01:00.927Z"
},
{
"number": 133,
"writer": "민지",
"title": "메모장",
"contents": "메모장입니다.",
"like": 0,
"createdAt": "2021-09-01T06:00:41.469Z"
},
{
"number": 132,
"writer": "송경환",
"title": "코드캠프",
"contents": "최고",
"like": 0,
"createdAt": "2021-09-01T06:00:37.059Z"
},
{
"number": 131,
"writer": "민지",
"title": "게시글",
"contents": "게시글 입니다.",
"like": 0,
"createdAt": "2021-09-01T05:52:12.548Z"
}
]
}
}
최근게시글 부터 출력....
19) 프로필이 전체 몇 개가 있는지 확인해 보세요.
Input
query{
fetchProfilesCount
}
Output
{
"data": {
"fetchProfilesCount": 160
}
}
20) 게시물은 몇 개가 있나요?
Input
query{
fetchBoardsCount
}
Output
{
"data": {
"fetchBoardsCount": 123
}
}
Author And Source
이 문제에 관하여(Graphql-Api 연습!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@sangki2070/Graphql-Api-연습저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)