Spring RESTful ์‚ฌ์šฉ์ž ๊ด€๋ฆฌ ๊ฒŒ์‹œํŒ

2021. 11. 30. 15:28ใ†Spring

728x90

 

https://hyejin.tistory.com/272

 

Spring RESTful ์‚ฌ์šฉ์ž ๊ด€๋ฆฌ ํ”„๋กœ์ ํŠธ (@RequestBody, @ResponseBody, GET, POST, PUT, DELETE, Postman ์„ค์น˜ ๋ฐ ํ…Œ์ŠคํŠธ

https://hyejin.tistory.com/265 Spring MVC, Mybatis [2] ๊ฐ„๋‹จํ•œ ์‚ฌ์šฉ์ž ๊ฒŒ์‹œํŒ ๋งŒ๋“ค๊ธฐ ๊ทธ๋™์•ˆ Spring ๊ณต๋ถ€๋ฅผ ํ•˜๋ฉด์„œ ํ•ด์™”๋˜ ์‚ฌ์šฉ์ž ๊ด€๋ฆฌ ํ”„๋กœ์ ํŠธ๋ฅผ ์ด์ œ ๊ฐ„๋‹จํ•˜์ง€๋งŒ ํ™”๋ฉด ๊ตฌํ˜„๊นŒ์ง€ ํ•ด์„œ ๋งŒ๋“ค์–ด ๋ณผ ์˜ˆ์ •์ด๋‹ค. Sp.

hyejin.tistory.com

์—ฌ๊ธฐ์„œ ํ–ˆ๋˜ ์‚ฌ์šฉ์ž ๊ด€๋ฆฌ์— ๋Œ€ํ•ด์„œ RESTful ์›น ์„œ๋น„์Šค ํ˜ธ์ถœ์„ ์œ„ํ•ด Ajax ํ†ต์‹ ๋ฐฉ๋ฒ•์„ ์ด์šฉํ•  ์˜ˆ์ •์ด๋‹ค. 

Ajax ํ†ต์‹ ์„ ํ•˜๋Š” ๋ณต์žกํ•œ ์ฝ”๋“œ๋ฅผ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ์ž‘์„ฑํ•˜๊ธฐ ์œ„ํ•ด์„œ jQuery $.ajax()๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. 

 

 

1๏ธโƒฃ ์‚ฌ์šฉ์ž ๋ชฉ๋ก ์กฐํšŒ 

๊ฒฐ๊ณผ ํ™”๋ฉด 
html 

-> html์—๋Š” <thead>๋งŒ ์ž‘์„ฑํ•˜๊ณ , ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ๋ฐ›์€ ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ๋ฅผ ์ด์šฉํ•˜์—ฌ ๋™์ ์œผ๋กœ ํ…Œ์ด๋ธ”์˜ row๋ฅผ ์ฆ๊ฐ€์‹œํ‚ฌ๊ฒƒ์ด๋‹ค. 

js
js userList 
RestfulController

controller์—์„œ ์š”์ฒญ ๊ฒฝ๋กœ๋ฅผ users๋กœ ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ajax์˜ url๋„ 'users'์ด๋‹ค.

๊ทธ๋ฆฌ๊ณ  GET ๋ฐฉ์‹์ด๊ธฐ ๋•Œ๋ฌธ์— type ๋„ GET์ด๋‹ค. 

์‚ฌ์šฉ์ž ๋ชฉ๋ก ์กฐํšŒ ์š”์ฒญ์ด ์˜ค๋ฉด userListResult์—์„œ ์‘๋‹ตํ•ด ๋™์ ์œผ๋กœ ํ…Œ์ด๋ธ”์˜ row๋ฅผ ์ƒ์„ฑํ•ด์ค€๋‹ค.

 

 

 

2๏ธโƒฃ ํŠน์ • ์‚ฌ์šฉ์ž ์กฐํšŒ 

๊ฒฐ๊ณผ ํ™”๋ฉด 
html
js

html ํŽ˜์ด์ง€๊ฐ€ ๋กœ๋“œ๋ ๋•Œ userSelect() ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•œ๋‹ค. 

js - userSelect()

ํŠน์ • ์‚ฌ์šฉ์ž์˜ id ๊ฐ’์„ ๊ฐ€์ ธ์˜ค๊ธฐ ์œ„ํ•ด input type์„ hidden์œผ๋กœ ์„ค์ •ํ–ˆ๋˜ ๊ฐ’์„ ๊ฐ€์ ธ์™€์„œ ์‚ฌ์šฉํ•œ๋‹ค. 

RestfulController
js userSelectResult() 

์‚ฌ์šฉ์ž ์กฐํšŒ์— ๋Œ€ํ•œ ์š”์ฒญ์ด ์˜ค๋ฉด userSelectResult ํ•จ์ˆ˜๊ฐ€ ์‹คํ–‰๋œ๋‹ค. 

๊ทธ๋ฆฌ๊ณ  RestfulController์—์„œ user๊ฐ์ฒด๋ฅผ "data"์˜ ์ด๋ฆ„์œผ๋กœ ๊ฐ’์„ ๋‹ด์•„ ์ „๋‹ฌํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— 

var user = xhr.dataํ•ด์„œ user๊ฐ’์„ ๊ฐ€์ ธ์˜จ๋‹ค. 

๊ทธ๋ฆฌ๊ณ  ์—ฌ๊ธฐ์— ๊ฐ๊ฐ ๊ฐ’์„ ์ž…๋ ฅํ•ด์ฃผ๋Š” ๊ฒƒ์ด๋‹ค. 

 

 

3๏ธโƒฃ ์‚ฌ์šฉ์ž ์ •๋ณด ๋“ฑ๋ก 

๊ฒฐ๊ณผ ํ™”๋ฉด 
js
js - userInsert()

ํผ์— ๊ฐ๊ฐ ๊ฐ’์„ ์ž…๋ ฅํ•˜๊ณ , ๋“ฑ๋ก ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด userid, name, gender, city์— ์ž…๋ ฅ๋œ ๊ฐ’์„ ๊ฐ€์ ธ์™€์„œ var userid, name, gender, city์— ์ €์žฅํ•œ๋‹ค. 

๊ทธ๋ฆฌ๊ณ  ์„œ๋ฒ„์— ์ด๋ฅผ ๋ณด๋‚ด์ค˜์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— JSON์œผ๋กœ ๋ฐ”๊ฟ”์„œ ์ „๋‹ฌํ•ด์ค€๋‹ค. 

RestFulController

 

 

 

4๏ธโƒฃ ์‚ฌ์šฉ์ž ์ •๋ณด ์ˆ˜์ • 

์ˆ˜์ •์ „
์ˆ˜์ •ํ›„
js
js - userUpdate

ํŠน์ • ์‚ฌ์šฉ์ž๋ฅผ ์กฐํšŒํ–ˆ์„ ๋•Œ ์ž…๋ ฅ๋˜์–ด์žˆ๋Š” ๊ฐ’๋“ค์„ ๋ฐ›์•„ ๊ฐ๊ฐ var userid, name, gender, city์— ์ €์žฅํ•˜๊ณ , 

์ด๋ฅผ Json์œผ๋กœ ์ƒ์„ฑํ•˜์—ฌ์„œ ์„œ๋ฒ„๋กœ ๋ณด๋‚ธ๋‹ค.

RestfulController

 

 

5๏ธโƒฃ ์‚ฌ์šฉ์ž ์ •๋ณด ์‚ญ์ œ 

์‚ญ์ œ ์ „
์‚ญ์ œ ํ›„

 

js

 

js - userDelete()

 

์‚ญ์ œํ•˜๊ธฐ์ „์—๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ ๋‹ค์‹œ ํ•œ๋ฒˆ ์‚ญ์ œ ์š”์ฒญ์„ ํ™•์ธํ•œ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์‚ฌ์šฉ์ž๊ฐ€ ํ™•์ธ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ajax๋กœ ์„œ๋ฒ„๋กœ ์‚ญ์ œ๋ฅผ ์š”์ฒญํ•œ๋‹ค. 

 

6๏ธโƒฃ ์‚ฌ์šฉ์ž ์ž‘์„ฑ ์ •๋ณด ์ดˆ๊ธฐํ™” 

์ดˆ๊ธฐํ™”์ „

 

์ดˆ๊ธฐํ™”ํ›„

 

 

js
js - init()

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90