요청 -> dispatcherServlet
spring MVC 에서 모든 요청은 디스패처 서블릿이 처리함
@RequestMapping(path = "/hello-world/path/variable/{name}")
public HelloWorldBean helloWorldPathVariable(@PathVariable String name) {
return new HelloWorldBean(String.format("Hellow world, %s", name)); //json 응답
}
http://localhost:8080/hello-world/path/variable/soo
@RestController
public class UserResource {
private UserDaoService service;
public UserResource (UserDaoService service) {
this.service = service;
}
@GetMapping("/users")
public List<User> retrieveAllUsers(){
return service.findAll();
}
}
@Component
private static List<User> users = new ArrayList<>();
static {
users.add(new User(1, "Adam", LocalDate.now().minusYears(30)));
users.add(new User(2, "Eve", LocalDate.now().minusYears(25)));
users.add(new User(3, "jal", LocalDate.now().minusYears(31 )));
}
public List<User> findAll(){
return users;
}
}
public User findOne(int id) {
Predicate<? super User> predicate = user -> user.getId().equals(id);
return users.stream().filter(predicate).findFirst().get();
}
public User save(User user) {
user.setId(++userCount);
users .add(user);
return user;
}
@PostMapping("/users")
public void createUser(@RequestBody User user) { //웹 요청을 보낼 때 요청 본문을 보냄 .
service.save(user);
}
생성 완료!