Я использую Spring Boot + Spring Data Mon go + Spring REST + Spring HATEOAS для реализации конечных точек REST.
Поскольку мы передаем более 5 параметров запроса (проприетарные настройка Org, которая, как предполагается, не была передана), поэтому я хотел бы создать класс EmployeeDto и передать этот класс в Controller
@GetMapping(value = "/employees", produces = {MediaType.APPLICATION_JSON })
public ResponseEntity<PagedModel<EmployeeModel>> findEmployees(
EmployeeDto dto,
@Parameter(hidden=true) String sort,
@Parameter(hidden=true) String order,
@Parameter(hidden=true) Pageable pageRequest) {
// Add needed logic
......
......
......
PagedModel<EmployeeModel> model = countryOutPagedAssembler.toModel(response, employeeAssembler);
return new ResponseEntity<>(model, HttpStatus.OK);
}
Swagger UI, он отображается как -
{
"firstName": "string",
"lastName": "string",
"age": 0,
"languageCd": "string",
"isActive": "string",
"email": "string",
"regionCd": "string"
}
Команда CURL:
curl -X GET "http://localhost: 8080 / данные-сотрудников / сотрудники / географии? FirstName = строка & lastName = строка & возраст = 0 & languageCd = строка & isActive = string & email = string®ionCd = string & page = 0 & size = 25 & sort = firstName & order = AS C "-H" принять: application / json "
EmployeeDto. java
@AllArgsConstructor
@NoArgsConstructor
@Data
@Builder
@Schema
public class EmployeeDto {
@Schema(description = AppConstants.FIRSTNAME, defaultValue="")
private String firstName;
@Schema(description = AppConstants.LASTNAME, defaultValue="")
private String lastName;
@Schema(description = AppConstants.AGE, defaultValue="")
private Integer age;
@Schema(description = AppConstants.LANG_CD_DESC, defaultValue="0")
private String languageCd;
@Schema(description = AppConstants.ISACTIVE, defaultValue="")
private String isActive;
@Schema(description = AppConstants.EMAIL, defaultValue="")
private String email;
@Schema(description = AppConstants.REGION_CD_DESC, defaultValue="")
private String regionCd;
}
Я ищу -
1) Как установить значение по умолчанию для каждого поля вместо "строки", которые кажутся приходящими по умолчанию?
2) Как просто разрешить увидеть фактические параметры запроса в OAS3 UI? Валюта, это похоже на тело.