New > Spring Legacy Project > Spring MVC Project > "RESTTest" > "com.test.rest" > Finish
[κ²μν]
URIμ μμμ νμνλ€. > λ§μ§λ§ λ¨μ΄κ° μμλͺ μ΄ λλ€.
URIμ λμ¬λ₯Ό νμνμ§ μλλ€.
HTTP Methodλ₯Ό μ¬μ©ν΄μ νλμ νννλ€.(2λ² λμ )
a. GET: μμ μμ²
b. POST: μμ μ λ¬ + μλ²μΈ‘ μμ±
c. PUT: μμ μ λ¬ + μμ (κΈ°μ‘΄ μμ > μλ‘ μμ±) + μ 체 μμ (λͺ¨λ μ»¬λΌ μμ )
d. PATCH: μμ μ λ¬ + μμ (μΌλΆ μμ )
e. DELETE: μμ μμ
URI + HTTP Method = REST API
ꡬλΆμλ '/'λ₯Ό μ¬μ©νλ€.
URLμ λ§μ§λ§μ '/'λ₯Ό μ μ§ μλλ€.
URIμλ '-' μ¬μ©μ΄ κ°λ₯νλ€.(κ°λ)
URIμλ '_' μ¬μ©νμ§ μλλ€.(κ°λ μ±)
URIμ μλ¬Έμλ‘λ§ μμ±νλ€.
νμ₯μλ₯Ό μμ±νμ§ μλλ€. > URIκ° μμλͺ μΌλ‘ λλκΈ° λλ¬Έμ
RESTTest > "script.sql"
ojdbc6 libμ μΆκ°
build pathμ μΆκ°
λ¨μν μ€νΈ μ¬μ©νμ.
ν¬νΈν΄λ¦¬μ€ μ μ μ λ£μ κ²
JUnit λ‘κ³
(λ΄κ° λ§λ ) κ²°κ³Όμ°½
"com.test.controller" > "AddressController.java"
> RESTController.java
"com.test.domain" > "AddressDTO.java"
"com.test.persistence"
> "AddressDAO.java"(I)
> "AddressDAOImpl.java"(C)
views(X) > **** Rest API Serverλ λ·°λ₯Ό λ§λ€μ§ μλλ€!
λ λλ§ - νμ΄μ§ λ§λ€κΈ°
λΈλΌμ°μ κ° μλ²μ λ°μ΄ν° λ¬λΌκ³ μμ²
-> jdbcλ‘ db μ μ
-> λ°μ΄ν° κ°μ Έμ€κΈ°
-> νμ΄μ§κΉμ§ λ€ λ§λ€μ΄μ ν΄λΌμ΄μΈνΈμκ² μ λ¬
=> λͺ¨λ κ²μ μλ²κ° λ€ λ§λ λ€.
λΈλΌμ°μ κ° μλ²μ λ°μ΄ν° λ¬λΌκ³ μμ²
-> jdbcλ‘ db μ μ
-> λ°μ΄ν° κ°μ Έμ€κΈ°
-> μμν κ°(ex. JSON)λ§ λΈλΌμ°μ (ν΄λΌμ΄μΈνΈ)μκ² λλ €μ£ΌκΈ° (ajax)
=> λ°μ΄ν°λ§ μλ²λ‘ μκΈλ°μμ§ μ€μ νλ©΄ ꡬνμ ν΄λΌμ΄μΈνΈκ° jsλ‘ μμ±νλ€.
jsλ§μΌλ‘ λ°μ΄ν°λ₯Ό κ°μ Έμ¬ μ μλ€. java(crud μ λ¬Έ μλ²μΈ‘ νλ‘κ·Έλ¨)μ λμμ΄ νμνλ€.
-> νμ΄μ§κΉμ§ λ§λλ μλ²
-> μμν κ°λ§ κ°μ Έμ€λ μλ²
Open API
μ ν΄μ§ URL > μμ² > λ°μ΄ν° λ°ν(xml, json)