:::: МЕНЮ ::::
Запись с тегами: Параметры REST в Spring Boot

Шаг второй: Работа с REST через Spring Boot

Для создания обычного Action, Endpoint, URL — отдельной страницы потребуется публичный метод в любом контроллере спринга с одной из следующих аннотацией :

  • @GetMapping
  • @PostMapping
  • @DeleteMapping
  • @PutMapping
  • @RequestMapping
  • и др.

@GetMapping в контроллерах spring

Вообще первая сложность у меня возникла не с REST контроллерами, а настройками ответов для авторизованных не авторизованных пользователей.

Что делать с этим я не знал, пока не исследовал spring security

// Думаю здесь можно обойтись без комментариев
@GetMapping(path = "/current-user/detail")
public ResponseEntity<UserModel> getDetailInfoCurrentUser() {
    return ok(new UserModel(sessionManager.getUser()));
}




@PostMapping в контроллерах spring

@PostMapping(path="/api/current-user/update-password", consumes = "application/json")
public Boolean currentUserUpdatePassword(@RequestBody UserDto userDto) {
    UserEntity userEntityDb = userService.getById(sessionManager.getUser().getId());
    userService.update(userEntityDb.getId(), userEntityDb);
    return true;
}

@DeleteMapping в контроллерах spring

@DeleteMapping(path="/api/users/delete/{id}")
public int deleteUserById(@PathVariable("id") UUID id) {    
    return userService.deleteById(id);
}

Редирект в spring boot

Для реализации редиректа в аннотированных методах rest контроллеров, необходимо передать дополнительным параметром HttpServletResponse, в нём мы и установим наши необходимые параметры.

@GetMapping(path="/api/redirect/{id}")
public void redirectUserById(@PathVariable("id") UUID id, HttpServletResponse httpServletResponse) {    
        String urlRedirect = "/api/task/" + id;
        httpServletResponse.setHeader("Location", urlRedirect);
        httpServletResponse.setStatus(302);
}


Шаг первый: Spring Boot — среда для обучения и погружения в мир JAVA

В этой статье я расскажу о моём знакомстве с REST API в Spring Boot. Java и фреймворк spring предлагают очень удобно настраиваемое для работы клиент — серверное взаимодействие.

Так как, я уже не первый год работаю c MVC на разных языках, то разобраться с основной моделью MVC в спринге заняло не более дня.

@RequestMapping в контроллерах spring

Весьма удобно настраивается RequestMapping в спринг бут, метод отправки можно задать любой или указать несколько.

@RequestMapping(
        path="/api/users/update-active-role", 
        method = {RequestMethod.PUT, RequestMethod.POST}, 
        consumes = "application/json"
)
public Integer updateUserActiveRole(@RequestBody RoleDto roleDto) {
    return userService.updateActiveRole(sessionUserId, roleDto.getId());
}