๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ199 [Spring Boot/RESTful] Swagger ์ค์ (+๋ฒ์ ์ค๋ฅ) Swagger API ์ค๊ณ, ๋น๋, ๋ฌธ์ํ, ์ฌ์ฉ์ ๋์์ ์ฃผ๋ ์คํ์์ค ํ๋ ์์ํฌ Swagger ๊ตฌํ 1. dependency ์ค์ io.springfox springfox-boot-starter 3.0.0 io.springfox springfox-swagger-ui 3.0.0 ๋ฒ์ ์ค๋ฅ spring boot 2.6 ๋ฒ์ ์ดํ์ spring.mvc.pathmatch.matching-strategy ๊ฐ์ด ant_path_matcher์์ path_pattern_parser๋ก ๋ณ๊ฒฝ๋๋ฉด์ ๋ช๋ช ๋ผ์ด๋ธ๋ฌ๋ฆฌ(swaggerํฌํจ)์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค. Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPo.. 2022. 2. 18. [Spring Boot/RESTful] REST API 3๋จ๊ณ๋ฅผ ์ํ HATEOAS ์ค์ HATEOAS Hypermedia As the Engine Of Application State ํ์ฌ ๋ฆฌ์์ค์ ์ฐ๊ด๋(ํธ์ถ ๊ฐ๋ฅํ) ์์ ์ํ ์ ๋ณด๋ฅผ ์ ๊ณต(mapping) ํด๋ผ์ด์ธํธ๊ฐ ๋ช ์์ ์ผ๋ก ๋งํฌ๋ฅผ ์์ฑํ์ง ์์๋ ์๋ฒ ์ธก์์ ๋ฐ์ ๋งํฌ์ ๋ ํผ๋ฐ์ค๋ฅผ ํตํด ์ดํ๋ฆฌ์ผ์ด์ ์ ์ํ ๋ฐ ์ ์ด๋ฅผ ํํํ ์ ์๋ค. ์ฅ์ - ์์ฒญ URI๊ฐ ๋ณ๊ฒฝ๋๋๋ผ๋ ํด๋ผ์ด์ธํธ์์ ๋์ ์ผ๋ก ์์ฑ๋ URI๋ฅผ ์ฌ์ฉํจ์ผ๋ก์จ, ํด๋ผ์ด์ธํธ๊ฐ URI ์์ ์ ๋ฐ๋ฅธ ์ฝ๋๋ฅผ ๋ณ๊ฒฝํ์ง ์์๋ ๋๋ ํธ๋ฆฌํจ์ ์ ๊ณตํ๋ค. - URI ์ ๋ณด๋ฅผ ํตํด ๋ค์ด์ค๋ ์์ฒญ์ ์์ธกํ ์ ์๊ฒ ๋๋ค. - Resource๊ฐ ํฌํจ๋ URI๋ฅผ ๋ณด์ฌ์ฃผ๊ธฐ ๋๋ฌธ์, Resource์ ๋ํ ํ์ ์ ์ป์ ์ ์๋ค. REST API ์ค๊ณ ๋จ๊ณ 0. The Swamp of POX ํน์ ํ .. 2022. 2. 18. [Spring boot/RESTful] REST API ๋ฒ์ ๊ด๋ฆฌ ๋ฒ์ ๊ด๋ฆฌ ๋จ์ํ๊ฒ ์ฌ์ฉ์์๊ฒ ๋ณด์ฌ์ฃผ๋ ํญ๋ชฉ์ ์ ์ดํ๋ ์ฉ๋๊ฐ ์๋๋ผ REST API์ ์ค๊ณ๊ฐ ๋ณ๊ฒฝ๋๊ฑฐ๋ ์ดํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์กฐ๊ฐ ๋ฐ๋ ๋๋ ๋ฒ์ ์ ๋ณ๊ฒฝํด์ฃผ์ด์ผ ํ๋ค. ์ฌ์ฉ์์๊ฒ๋ ์ด๋ ํ API ๋ฒ์ ์ ์ฌ์ฉํด์ผ ํ๋์ง ๋ช ์ํด์ผ ํ๋ค. ์ข ๋ฅ 1) URI Versioning : Twitter 2) Request Parameter Versioning : Amazon 3) (Custom) Headers Versioning(MIME) : Microsoft 4) Media type Versioning(content negotiation, accept header) : Github ์ผ๋ฐ ๋ธ๋ผ์ฐ์ ์์ ์คํ ๊ฐ๋ฅ : URI, Request Parameter ์ผ๋ฐ ๋ธ๋ผ์ฐ์ ์์ ์คํ ๋ถ๊ฐ : (Custom) Headers Ve.. 2022. 2. 18. [Spring boot/RESTful] Response Filtering Response ๋ฐ์ดํฐ ์ ์ด๋ฅผ ์ํ Filtering ํด๋ผ์ด์ธํธ์๊ฒ ์ ๋ฌ๋๋ ์ ๋ณด์ ๊ฐ์ ์ ์ด ๋ณดํต 3๊ฐ์ง ๋ฐฉ๋ฒ์ด ์๋ค. ์ค๋์ ์ด ์ค 3๋ฒ์งธ์ ๋ํด ๋ค๋ฃฌ๋ค. ๊ฐ์ ์ํธํํ๊ฑฐ๋ ์นํํ์ฌ ์ ๋ฌ null๋ก ๋ฐํ ์์ ์ ์ธํ๊ณ ๋ฐํ @JsonIgnore Response ๋ฐํ ์ Json๊ฐ์ ํฌํจ๋์ง ์๋๋ก ํ๋ annotation. ๊ฐ๋ณ์ ์ผ๋ก ํ๋ ๊ฐ์ ์ ์ดํ๋ค. @JsonIgnore // ๋ฐํ ์ Json๊ฐ์ ํฌํจ๋์ง ์์ ->๋ฐํ๊ฐ ์ ์ด privateString password; @JsonIgnore privateString ssn; @JsonIgnoreProperties ํด๋น ํด๋์ค ๋ธ๋ก ๋จ์๋ก ํํฐ๋ง @JsonIgnoreProperties(value={"password", "ssn"}) public c.. 2022. 2. 18. ์ด์ 1 ยทยทยท 19 20 21 22 23 24 25 ยทยทยท 50 ๋ค์