๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ199 [์ค๋ฅ] multipart์์ PUT์ด ๋จนํ์ง ์๋ ์ค๋ฅ ๋ฌธ์ ์ํฉ PUT ๋ฐฉ์์ผ๋ก multipart๋ฅผ ๋ณด๋๋๋ฐ, ๊ธฐ๋ฅ ์์ฒด๋ ์ ๋์๊ฐ์ผ๋ ํ ์คํธํ ๋ ์๊พธ ์ค๋ฅ๊ฐ ์๊น ๋ฐ์ ์์ธ ๊ธฐ๋ณธ์ ์ผ๋ก multipart ์์ฒญ์ GET/POST๋ง ์ง์ํ๋ค ํด๊ฒฐ ๋ฐฉ๋ฒ POST๋ก ์์ ํ์๋๋ ๋์๊ฐ๋ค! ๋ฆฌํฉํ ๋ง ์ ์ด์ API ์ค๊ณ ์์น์๋ ์กฐ๊ธ ์ด๊ธ๋ ๊ฒ ๊ฐ์์ ๊ฒธ์ฌ๊ฒธ์ฌ ์์ ํ๋ค PUT์ ํน์ ๋ฆฌ์์ค๋ฅผ ๊ฐฑ์ ํ๋ ์ญํ ์ ํ๋๋ฐ multipart๋ก ๋ณด๋ด๋ฉด ํ๋ฒ์ ์ฌ๋ฌ ๋ฆฌ์์ค๋ฅผ ์ฒ๋ฆฌํ๋ฏ๋ก ์ด๋ฏธ์ง ๊ฐ์ ๊ฒฝ์ฐ๋ฅผ PUT์ผ๋ก ์ฒ๋ฆฌํ๋ ค๋ฉด ์ด๋ฏธ์ง๋ฑ์ ๋ํ ๋ฆฌ์์ค URI์ ๋ณ๋์ PUT ์์ฒญ์ ๋ณด๋ด์ ๊ฐฑ์ ํ๊ณ ์ผ๋ฐ์ ์ธ ํผ์ ๋ฐ๋ก ์ฒ๋ฆฌํด์ผ ํ๋ค. ๋ผ๊พธ๋ผ๊พธ profileUpdate์์ ํ URI๋ก PUT์ ๋ณด๋ด์ ์ฌ๋ฌ ๋ฆฌ์์ค(ํ์ ์ ๋ณด + ์ด๋ฏธ์ง)๋ฅผ ํ๊บผ๋ฒ์ ์ฒ๋ฆฌํ๋ ค๊ณ ํ์ผ๋ฏ๋ก PUT์ด ์ ํฉ์น .. 2023. 8. 13. [์ถ์ธก] ๊ธฐ์กด Spring Security๋ฅผ ์ ์ฉํ ์ํฉ์์ OAuth2 ์ ์ฉ์ด ์ ๋จนํ๋ ์ด์ ์ถ์ธก ๋ฌธ์ ์ํฉ ์์ฒด ํ์๊ฐ์ ์์ jwt refresh & access token์ ์ง์ ๋ง๋ค์ด์ ์ ์ฉํ ์ํฉ ์ด ์ํฉ์์ oAuth2 ์ ์ฉ ์๋ํ์์ผ๋ ์คํจ ์์ ์๋ง ๋ฉํ ๋๊ป์ ์๋ ค์ฃผ์ ๊ฑด๋ฐ ์ฐ๋ฆฌ ํ๋ก์ ํธ๋ ๋น์ทํ ์ํฉ์ธ ๊ฒ ๊ฐ์ ๊ณต์ ํฉ๋๋ค ์ ์์ ์ธ ๋ฐฉ๋ฒ) jwk/jws๋ jwt์ ํจ๊ป ์ ํ ํฐ ํ์ทจํ๋ฉด ๋ง์๋๋ก ์ธ ์ ์๊ธฐ ๋๋ฌธ์ signature ๋ฃ์ด์ ์ํธํ ํ ๋น๋์นญ์ผ๋ก ๊ฒ์ฆํจ (์ง์ง ์๋ฒ์์ ๋ณด๋ธ ๊ฒ์ธ์ง ํ์ธ) ์์ ๋ก๊ทธ์ธ์ด๋ ๊ฐ์ด ์ธ ๋์ ๋ฌธ์ ์ ์ผ๋ฐ ๋ก๊ทธ์ธ ์ spring์์ ์ฐ๋ token์ด๋ ์์ ๋ก๊ทธ์ธ ์ ๋์ค๋ token์ด ๋ถ๋ฆฌ๋์ด ์์ ๊ทธ๋ฌ๋ spring ์์ฒด์์ ์ด 2๊ฐ๋ฅผ ํ๋์ token์ผ๋ก ํฉ์ณ์ clientํํ ๋ณด๋ด์ค(๋์ด ์๋ก ๋ค๋ฅธ ์ ์ ๋ก ์กํ๋ ๊ฒ์ ๋ง๊ธฐ ์ํจ) ⇒ โจ๊ทผ๋ฐ ๋ด.. 2023. 8. 13. [์ค๋ฅ] WebMvcTest์์ body๊ฐ์ด empty์ธ ๊ฒฝ์ฐ ๋ฌธ์ ์ํฉ ProfileUpdateController์์ status๋ ํ์ธ๋๋๋ฐ body์์ ์๊พธ null๊ฐ์ด ๋ฐ์ํ๋ ์ค๋ฅ ๋ฐ์ String์ ๋ฐํ๊ฐ์ผ๋ก ํ๋ฉด ์ ๋๋๋ฐ dto์ body์์๋ง ๋ฌธ์ ๊ฐ ์๊ฒจ์ ๊ฐ์ด ์ฌ๋ฌ๋ชจ๋ก ๊ณ ๋ฏผํ๋ค. Multipart๋ฅผ ์ธ์๋ก ๋ฐ๋ ๊ฒ์ด๋ผ multipart์ ๋ฌธ์ ์ธ ์ค ์์์ผ๋.... ๋ฐ์ ์์ธ ProfileUpdateController๋ก ์ ๋ฌ๋ JSON์ด ๋ง๋ค์ด๋ธ Response ๊ฐ์ฒด๊ฐ ์ฐ๋ฆฌ๊ฐ ์์ํ ๊ฒ๊ณผ ๋ค๋ฅธ ๊ฐ์ฒด๋ผ ๋ฐ์ํ๋ ๋ฌธ์ ์๋ค (Multipart๋ 1๋ ์๊ด์์๋ค^^) https://velog.io/@devmizz/Spring-WebMvcTest%EC%97%90%EC%84%9C-Response-Body%EA%B0%80-Empty%EC%9D%BC-%EB%95%8C 2023. 8. 13. [์ค๊ณ] File ํ ์ด๋ธ ๋ด์ item_id ์นผ๋ผ ๋ฆฌํฉํ ๋ง ํ์ฌ ์ํฉ ํ์ฌ File ํ ์ด๋ธ์ User, Portfolio, Item 3๊ฐ์ ํ ์ด๋ธ์ด ์ฐธ์กฐํ๊ณ ์์ต๋๋ค. User์ Portfolio๋ File๊ณผ 1๋1 ๊ด๊ณ์ด๊ธฐ ๋๋ฌธ์ fk๋ฅผ ๊ฐ์์ ํ ์ด๋ธ์ ๋์ง๋ง, Item์ ๊ฒฝ์ฐ 1๋๋ค ๊ด๊ณ์ด๊ธฐ ๋๋ฌธ์ fk๋ฅผ File ํ ์ด๋ธ์์ ๊ฐ์ง๊ฒ ๋ฉ๋๋ค. ์ด ๊ฒฝ์ฐ์ ๋ฌธ์ ์ ์ ํ ์ด๋ธ์ ์ ํฉ์ฑ์ ํด์น๊ณ , item_id๊ฐ์ ๊ฐ์ง์ง ์๋ User ์ Portfolio ํ ์ด๋ธ์์๋ item_id ์นผ๋ผ ๊ฐ์ ๋ถํ์ํ๊ฒ ๊ฐ์ ธ null ๊ฐ์ด ๋ฐ์ํ๋ค๋ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ํด๊ฒฐ๋ฐฉ์ ์ด์ ๊ฒฝ์ฐ 2๊ฐ์ง์ ํด๊ฒฐ๋ฐฉ๋ฒ์ ๋ ์ฌ๋ฆด ์ ์์ต๋๋ค. ItemFile ํ ์ด๋ธ์ ๋ฐ๋ก ๋ง๋ค์ด์ ๊ธฐ์กด ํ์ผ๊ณผ ์ด๋ฅผ ๊ตฌ๋ถํ๋ค. File ํ ์ด๋ธ์์ Item_Id๊ฐ ์๋ OwnerId ๊ฐ์ ๋์ด ์ด ๊ณณ์ item_id, .. 2023. 8. 13. ์ด์ 1 2 3 4 5 ยทยทยท 50 ๋ค์