valid requests parameters

This commit is contained in:
uPagge 2021-03-22 17:38:27 +03:00
parent a6c000c1cf
commit ca21901618
No known key found for this signature in database
GPG Key ID: 964B40928E4C9088

View File

@ -4,21 +4,44 @@ import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import org.sadtech.example.springvalidation.dto.PersonDto; import org.sadtech.example.springvalidation.dto.PersonDto;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.validation.Valid; import javax.validation.Valid;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
@Validated
@RestController @RestController
@RequestMapping("/api/person") @RequestMapping("/api/person")
@Tag(name = "Пользователи системы") @Tag(name = "Пользователи системы", description = "Валидация на уровне контроллера")
public class PersonController { public class PersonController {
@PostMapping @PostMapping
@Operation(summary = "Валидация на уровне контроллера") @Operation(summary = "Сохранение пользователя")
public ResponseEntity<String> valid(@Valid @RequestBody PersonDto personDto) { public ResponseEntity<String> save(@Valid @RequestBody PersonDto personDto) {
return ResponseEntity.ok("valid");
}
@GetMapping("{id}")
@Operation(summary = "Получить пользователя по id")
public ResponseEntity<String> getById(
@PathVariable("id") @Min(0) int personId
) {
return ResponseEntity.ok("valid");
}
@GetMapping
@Operation(summary = "Получить пользователя по имени")
public ResponseEntity<String> getByName(
@RequestParam("name") @NotBlank String name
) {
return ResponseEntity.ok("valid"); return ResponseEntity.ok("valid");
} }