๐ REST
- HTTP URI๋ก ํด๋น ์์์ ์๋ณํ๊ณ HTTP method๋ก ํด๋น ์์์ ๋ํ CRUD๋ฅผ ๊ตฌ๋ถํ์ฌ ์์๋ง ์๋ตํ๋ ๋ฐฉ์
- HTML ๋ทฐ ํ์ด์ง๊ฐ ์๋ ์์๋ง ์๋ตํ๊ธฐ ๋๋ฌธ์ ์น ๋ธ๋ผ์ฐ์ ๊ฐ ์๋ ํ๋ก๊ทธ๋จ์์๋ ์๋ฒ๋ฅผ ํ์ฉํ ์ ์๋ค๋ ์ฅ์ ์ด ์๋ค
- Create, Insert(POST method) POST:/employee - ์ ์ฌ์์ ์ถ๊ฐํ๋ค
- Read, Select(GET method) GET:/employee/105 - 105๋ฒ ์ฌ์์ ์กฐํํ๋ค
- Update (PUT method) PUT:/employee/183 - 183๋ฒ ์ฌ์์ ์์ ํ๋ค
- Delete (DELETE method) DELETE:/employee/170 - 170๋ฒ ์ฌ์์ ์ญ์ ํ๋ค
๐ Spring REST
- @RestController : ํด๋น ํด๋์ค๊ฐ RestController์์ ํ์
- @ResponseBody : ํด๋น ๋ฉ์๋๊ฐ ๋ทฐ ํ์ด์ง ๋์ ๋ฐ์ดํฐ๋ฅผ ์๋ตํ๋ค๋ ๊ฒ์ ํ์
- @RequestBody : ์์ฒญ์ ์ค๋ ค์จ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ธ๋ฉํด์ฃผ๋ ์ด๋
ธํ
์ด์
- @PathVariable : ์์ฒญ URI์ ์ผ๋ถ๋ถ์ ๋ณ์์ ๊ฐ์ผ๋ก ํ์ฉํ ์ ์๋ค(์ผ๋ฐ ์ปจํธ๋กค๋ฌ์์๋ ์ฌ์ฉ ๊ฐ๋ฅ)
๐ @RestController
- ์ผ๋ฐ ์ปจํธ๋กค๋ฌ์ ๋ค๋ฅด๊ฒ ๋ค์ ๋ทฐ๋ฅผ ๊ฐ๋ฆฌํค๋ ๋์ ๋ฐ์ดํฐ๋ฅผ ์๋ตํ๋ค
- ์ปจํธ๋กค๋ฌ ๋ด๋ถ ๋ฉ์๋์ ๋ฆฌํดํ์
์ ๋ทฐ๋ฅผ ์ฐพ์๊ฐ๋ ๋ฐฉ์์ด ์๋๋ผ ์ฌ์ฉ์์๊ฒ ์๋ตํ ๋ฐ์ดํฐ์ ํ์
์ ์๋ฏธํ๋ค
- ์ฃผ๋ก JSON๋ฐฉ์ ๋๋ XMLํ์์ผ๋ก ์๋ตํ๊ฒ ๋๋ค
- @RestController์์ ์๋ฐ๋น ๊ฐ์ฒด๋ฅผ ๋ฆฌํดํ๋ฉด ์์์ JSON(๋๋ XML)ํ์์ผ๋ก ๋ณํํด ์๋ตํด์ฃผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.15.2</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-xml</artifactId>
<version>2.15.2</version>
</dependency>
๐ผ RestController์์ ์ฌ์ฉํ๊ธฐ
๐ฑ jsonํ์์ผ๋ก ๋ณํํ๊ธฐ
@RequestMapping("/restful")
@Log4j
@RestController
public class RestSampleController {
@GetMapping(value="/employee/json", produces = MediaType.APPLICATION_JSON_VALUE)
public Employee emp1() {
Employee e = new Employee();
e.setFirst_name("์ฒ ์");
e.setLast_name("๊น");
e.setSalary(5000);
return e;
}
}
๐บ ์ถ๋ ฅ ๊ฒฐ๊ณผ >>
๐ฑ xmlํ์์ผ๋ก ๋ณํํ๊ธฐ
@RequestMapping("/restful")
@Log4j
@RestController
public class RestSampleController {
@GetMapping(value="/employee/xml", produces = MediaType.APPLICATION_XML_VALUE)
public Employee emp2() {
Employee e = new Employee();
e.setFirst_name("์ฒ ์");
e.setLast_name("๊น");
e.setSalary(5000);
return e;
}
}
๐บ ์ถ๋ ฅ ๊ฒฐ๊ณผ >>
๐ ์ฐธ๊ณ ์๋ฃ
restful api