2022. 3. 22. 23:28ใProgramming Project ์์ ์ค/๋ด์ฉ ์ ๋ฆฌ
๐ง๐ป๐ป Git Hub ์ฃผ์
๐ ๋ชฉ์ฐจ
โ [BackEnd][Maven-PJ] ๊ฐ๋ฐ์ ์ปค๋ฎค๋ํฐ ์๋น์ค - ๊ฒ์ํ ๋ง๋ค๊ธฐ : ๋ชฉ๋ก ์กฐํ
โ [BackEnd][Maven-PJ]๊ฐ๋ฐ์ ์ปค๋ฎค๋ํฐ ์๋น์ค - ๊ฒ์ํ ๋ง๋ค๊ธฐ : ์์ธ ์กฐํ
โ [BackEnd][Maven-PJ]๊ฐ๋ฐ์ ์ปค๋ฎค๋ํฐ ์๋น์ค - ๊ฒ์ํ ๋ง๋ค๊ธฐ : ์ญ์
โ [BackEnd][Maven-PJ] ์ฌ๋ด ๊ฐ๋ฐ์ ์ปค๋ฎค๋ํฐ ์๋น์ค - ๊ฒ์ํ : ๋ต๋ณ ๋ฑ๋ก / ์์
โ [BackEnd][Maven-PJ] ์ฌ๋ด ๊ฐ๋ฐ์ ์ปค๋ฎค๋ํฐ ์๋น์ค - ๊ฒ์ํ : ๋ต๋ณ ์ญ์
๐จ๐ฉ๐ง๐ฆ ํ์ ๊ด๋ จ
โ [BackEnd][Maven-PJ] ์ฌ๋ด ๊ฐ๋ฐ์ ์ปค๋ฎค๋ํฐ ์๋น์ค - ํ์ ๊ด๋ จ : ํ์ ๊ฐ์
๐๋ถ ๋ก
โ [BackEnd][Maven-PJ]๊ฐ๋ฐ์ ์ปค๋ฎค๋ํฐ ์๋น์ค - ๊ฒ์ํ ๋ง๋ค๊ธฐ : Paging์ฒ๋ฆฌ
๐ค ๋ด๊ฐ ๋ง๋ Exception
โ [Exception ์ ๋ฆฌ] org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
โ [Vue.js][Spring] Post Data ์ ์ก ๊ฐ null๊ฐ ์ ์ก ๋ฌธ์
๐ ๋ต๋ณ ๋ง๋ค๊ธฐ - ์ญ์
๐ฝ Code ๋ถ์
๐ฆ DevInquryReplyController.java
์ด๋ฒ ๋ต๋ณ ์ญ์ ํธ์์ Controller์์ ์ฃผ๋ชฉํด์ผํ ๋ถ๋ถ์ 62๋ฒ์งธ ์ค ์ธ ๊ฑฐ ๊ฐ์์.
๋จผ์ @ResponseBody์ `@DeleteMapping`์ด ๋ณด์ด๋๋ฐ, `@DeleteMapping`์ HTTP Method ์ค `DELETE`๋ฅผ ํตํด Front End์ ํต์ ์ ํ๊ฒ ๋ค๊ณ ์ ์ธํด ์ฃผ๋ ๊ฒ์ด๊ณ , ์ด ๊ณณ์ () ์๊ดํธ ์์ ๋ฌธ์์ด๋ก URI์ ์ค์ ํด ์ฃผ๋ฉด ๋๋ ๊ฒ์ด์์.
์ฐธ๊ณ ๋ก ํด๋น HTTP Method๋ก Front End์์ ์ ์ ํต์ ์ ํ๋ ค๋ฉด CORS Error๋ฅผ ํด์ ํด ์ฃผ์ด์ผ ํ๋๋ฐ, 34๋ฒ์งธ ์ค์ฒ๋ผ ํ์ฉํ HTTP Method๋ฅผ ๋ฃ์ด์ฃผ์ด์ผ ํ๋ ๊ฒ์ด์์.
๋ค์ `DevInquryReplyController.java - 62 ~ 72`๋ก ๋์ด์์ ๋จผ์ @PathVariable์ ์ด ๊ณณ์ ๋ฐ๋ก ์ค๋น ํด ๋ ๊ฒ์ด์์.
๊ทธ๋ฐ ๋ค Service์ ํด๋น ๊ธฐ๋ฅ์ ๋ง๋ Method๋ฅผ ํธ์ถ ํ๋ฉด์ ๊ฒฐ๊ณผ๊ฐ ์ค๋ฉด ๋ฐ๋ก ๋ฐํ์ด ์ด๋ค์ง๊ฒ ํด ์ค ๊ฒ์ด์์.
๐ฆ DevInquryService.java
๐ฆ DevInquryServiceImpl.java
DevInquryService๋ฅผ ๊ตฌํํ ๊ตฌํ์ฒด DevInquryServiceImpl์ ํ๋ฒ ์ดํด ๋ณผ ๊ฒ์ด์์.
๋จผ์ Controller์์ ์ ๋ฌ๋ ๋งค๊ฐ๋ณ์ ๊ฒ์๊ธ ์ผ๋ จ๋ฒํธ(inqrySn)์ ๊ฐ์ง๊ณ ๋์ํ๋ Method์ด๊ณ , ๊ฒฐ๊ณผ๊ฐ์ ๊ฐ์ฒด(Object)๋ก ๋ฐํํ๋ ์น๊ตฌ์ธ ๊ฒ์ด์์.
์ต์ด ๊ฒฐ๊ณผ๊ฐ ๋ฐํ์ ๋ด๊ธฐ ์ํ Map Type result๋ฅผ ๋ง๋ค์ด ์ฃผ๊ณ , `devInquryReplyMapper`์ ํด๋น ๊ธฐ๋ฅ Method `devInqryReplyDelete()`๋ฅผ ํธ์ถํ๋๋ฐ, ๋งค๊ฐ ๋ณ์๋ก InqrySn์ ์ ๋ฌํด ์ฃผ๋ ๊ฒ์ด์์.
์ด ๋ ๋ฌธ์ ๊ฐ ์๊ธฐ๊ฒ ๋๋ฉด catch๋ฌธ์ด ๋์ํ๊ฒ ๋ ๊ฒ์ด๊ณ , ๋ฌธ์ ๊ฐ ์๋ค๋ฉด result์ HTTP Method Code์ statusText ๊ทธ๋ฆฌ๊ณ , ๊ฒ์๋ฌผ ์ผ๋ จ๋ฒํธ๋ฅผ ๋ด์์ ๋ฐํ ํด์ฃผ๋ ๊ฒ์ด์์.
๋ง์ฝ ๋ฌธ์ ๊ฐ ์๊ฒจ catch๋ฌธ์ด ๋์ฐฉํ๊ฒ ๋๋ฉด result์ ์ญ์ HTTP Status Code๋ฅผ ๋ด๋๋ฐ, ์ด๋ฒ์ Server Internal Error๋ฅผ ๋ํ๋ด๋ 500์ ๋ด์์ฃผ๊ณ , statusText๋ฅผ ๋ด์์ฃผ๊ณ , ๋ฐํํ๋ ๊ฒ์ด์์.
๐ฆ DevInquryReplyMapper.java
๐ฆ ReplyMapper.xml
์์ ๋ด์ฉ์ ๋ณด๋ฉด '์ด๋?!' ์ด๋ผ๋ ์๋ฆฌ๊ฐ ๋์ค๊ณ , ์ฃผ๋ํ๋์ ๋ฐ๋ณด๋ผ๊ณ ์๊ฐํ ์๋ ์๋ ๊ฒ์ด์์.
๋ถ๋ช
์ญ์ ๋ฅผ ํ๋ค๊ณ ํด๋๊ณ , 'UPDATE ๋ฌธ์ ๋ ๋ฆฐ๋ค๊ณ ?!' ๋ผ๊ณ ๋๋ผ์ค ์ ์๊ธฐ ๋๋ฌธ์ด์์.
์ด ์ด์ ๋ ์ ์จ ์์ฑํ ๋ต๋ณ ๋ฑ๋ก / ์์ ํธ์ ์ด์ ๋ฅผ ์ ์ด๋ ๊ฒ์ด์์.
ํด๋น ์ด์ ๋ฅผ ์์ จ๋ค๊ณ ๊ฐ์ ํ๊ณ , ์ด์ ๋ต๋ณ์ ํด๋น ํ๋ ๋ถ๋ถ์ ๋ํด์๋ง ๋ด์ฉ์ ๋ฐ๊ฟ์ฃผ๋ ๊ฒ์ด์์.
๋ต๋ณ ์ฌ๋ถ(ANSWER_AT)์ ์ด์ ๋ต๋ณ์ด ์ญ์ ๋ ๊ฒ์ด๋๊น "N"์ผ๋ก ๋ฐ๊ฟ์ฃผ๊ณ , ๋๋จธ์ง๋ null๋ก ๋ฐ๊ฟ์ฃผ๋ฉด ๋๋ ๊ฒ์ด์์.
ํน์ ๊ฒ์๋ฌผ์ ๋ํด ์์ ์์ ์ ํด์ผ ํ๊ธฐ ๋๋ฌธ์ where ์ ์ ๊ฒ์๊ธ ์ผ๋ จ ๋ฒํธ(INQRY_SN)์ ๋ฃ์ด ์ค ๊ฒ์ด์์.
๐ฝ ๊ฒฐ๊ณผ ํ๋ฉด