반응형

저번에 회원관리중 회원 선택 후 에 셀렉트 하는 것과 회원 전체 리스트를 json으로 받는 방법에 대해 서술하였다. 

이번에는 회원 추가 즉 insert를 할 것이다. 

아직 데이터베이스 즉 JPA를 하지 않아 메모리상의 데이터를 이용하려고 한다. 

 

시작해보자 

 

저번에 user라는 data객체와 service 그리고 controller를 만들었다. 

 

private static int usersCount = 3;

    public User save(User user){
        if(user.getId()== null){
            user.setId(++usersCount);
        }
        users.add(user);
        return user;
    }

우선 데이터가 3건이 기 떄문에 

userCount라는 변수를 만들어 데이터가 추가 될때마다 

++연산자로 한개씩 올려주려고 한다. 

그 후 users를 insert(add)를 하려고 한다. 

 

    @PostMapping("/users")
    public ResponseEntity<User> createUser(@RequestBody User user){
        User savedUser = service.save(user);

        URI location =  ServletUriComponentsBuilder.fromCurrentRequest().path("/{id}")
                .buildAndExpand(savedUser.getId()).toUri();

        return ResponseEntity.created(location).build();
    }

createUser를 만들어 주고 

savedUser라는 변수를 만들어 서비스와 연결해준다. 

 

그 후 URI 를 사용하여 데이터를 전달해주면 

리턴값으로 

/users/{id} 값이 나오게 된다. 

 

즉 URI 값으로 바로 이용이 가능하다.

 

포스트맨 으로 한번 해보자 

 

 new_User 라고 name값을 추가해주고

즉 JSON으로 데이터를 전달해준다. 

post로 던져준다.

 

 

아까 만들어둔 location 값이 url로 만들어 진 것을 볼 수 있다. 

 

저 url로 접속을 해보면 

 

GET으로 접속을 해보면 아까 추가한 데이터가 추가 되었다!

 

 

반응형

+ Recent posts