개발하고 싶은 초심자
4-2. 220610 전체 게시글 조회 및 마이페이지에서 사용자 정보 조회(2) 본문
Project in Codestates/Final Project
4-2. 220610 전체 게시글 조회 및 마이페이지에서 사용자 정보 조회(2)
정새얀 2022. 6. 10. 15:51전체 게시글을 조회할 때는 사용자의 닉네임(userName)만 가져오고 싶었고, 마이페이지에서 사용자 정보 조회를 할 때는 사용자가 업로드한 게시물들의 정보까지 같이 가져오고 싶었다.
어제까지 해결하지 못했던 두 가지 문제를 오늘 해결할 수 있었다.
1. 마이페이지에서 사용자 정보 조회 시 게시물 정보까지 가져오기
const { 사용자, 게시물 } = require('../../models');
const { 토큰관리하는함수 } = require('../tokenFunctions');
module.exports = async (req, res) => {
// 토큰을 검증하는 변수를 하나 선언하여 req를 할당해준다(이하 verify)
if (!verify) {
// 검증이 되지 않으면 400코드로 응답한다
} else {
// 사용자 모델에서 내가 원하는 attributes를 작성하고
// where절을 통해 찾을 수 있게 해준다(이하 userInfo)
// 그 다음 post의 정보를 가져오게 하기 위해 findAll()메소드를 사용한다(이하 uploads)
if (!userInfo) {
// 사용자 정보가 제대로 되지 않은 경우 400코드로 응답한다
} else {
// data에 담고 싶은 정보를 userInfo안에 넣어준다
// data에 userInfo와 uploads를 넣어주고 200코드로 응답한다
}
}
};
2. 전체 게시글 조회할 때 사용자 닉네임 정보 가져오기
마이페이지에서 게시글 정보를 가져왔을 때처럼 비슷하게 로직을 구현했다.
다만 처음에는 게시글을 조회할 때 로그인을 하지 않아도 리스트가 보일 수 있도록 구현했는데 수정하면서 토큰을 검증받아야 하는 경우가 새로 생겼다.
로그인을 하지 않은 경우에도 게시글은 조회할 수 있도록 만들고 싶은데 아직까지 해결 방법을 알아내지 못했다.
const { 사용자, 게시물 } = require('../../models');
const { 토큰관리하는함수 } = require('../tokenFunctions');
module.exports = async (req, res) => {
// 토큰을 검증하는 변수를 하나 선언하여 req를 할당해준다(이하 verify)
if (!verify) {
// 검증이 되지 않으면 400코드로 응답한다
}
// 게시물 모델과 사용자 모델에서 findOne()메소드를 사용한다(이하 allPosts, userInfo)
if (allPosts) {
// 게시글을 조회하는 것을 성공했을 경우 200코드와 함께 allPosts와 userInfo를 data안에 넣어준다
} else {
// 조회에 실패한 경우 400코드를 응답으로 보내준다.
}
};
포스트맨으로 GET 요청을 보냈을 때 성공적으로 응답을 받아올 수 있었다.
'Project in Codestates > Final Project' 카테고리의 다른 글
5. 220614 서버 애플리케이션 및 파이프라인 생성과 자동 배포화 (0) | 2022.06.14 |
---|---|
4-3. 220612 게시글 작성 후 작성한 게시글 내용 보기 (0) | 2022.06.12 |
4-1. 220608 전체 게시글 및 마이페이지 정보 조회하기, IAM 계정을 이용한 AWS 배포(1) (0) | 2022.06.08 |
3-3. 220607 소셜 로그인을 위한 클라이언트와 서버 연결(2), 마이페이지 에러 잡기 (0) | 2022.06.07 |
3-2. 220606 소셜 로그인을 위한 클라이언트와 서버 연결(1) (0) | 2022.06.06 |
Comments