Backend 백엔드
[ 10 ] 데이터 통신 실습 ( graphql )
박민우_
2024. 7. 31. 11:23
나쁜 코드
' 철수 ' 라는 이름이 중복될 수 있으므로 조회에 어려움이 있다. 따라서 코드를 개선해야 한다
// 요청
mutation {
createProfile(name :"철수", age :12 , school :"떡잎유치원"){
message
_id
}
}
// 결과
{
"data": {
"createProfile": {
"message": "프로필이 정상적으로 등록되었습니다.",
"_id": null
}
}
}
// 조회 요청
query{
fetchProfile(name :"철수"){
name
age
school
}
}
개선된 코드-1
// 요청
mutation{
createBoard(writer :"철우", title : "안녕하세요" , contents :"방가"){
number
}
}
// 응답
{
"data": {
"createBoard": {
"number": 25833
}
}
}
// 조회 요청
query{
fetchBoard(number : 25832){
writer
title
contents
}
}
추가 개선사항
Update 요청을 확인해보면 데이터와 식별자를 구분하기 어렵다. 식별자와 데이터를 구분해주자 !
개선된 코드 -2
// 요청
mutation {
createProduct(seller :"밈우" , createProductInput :{
name :" 마아우스"
detail :"로지텍은 좋다"
price :24700
}){
_id
number
}
}
// 응답
{
"data": {
"createProduct": {
"_id": "d40bcc7f-1144-4333-b94c-d065cd47ca09",
"number": null
}
}
}
// 상품 수정 요청
mutation{
updateProduct(productId : "d40bcc7f-1144-4333-b94c-d065cd47ca09" updateProductInput : {
price :23000
}){
message
}
}
서버와 포트
서버란
클라이언트의 요청에 대해 응답을 서비스 하는 프로그램
포트란
클라이언트의 요청을 올바른 서버 ( 프로그램 ) 에 전달해주기 위한 논리적 통로
728x90