My put endpoint accept a requestBody of type UpdateUserDTO. The role property must be of type roleEnum.
I am looking for a way to return a custom message if the role property provided is not a roleEnum.
endpoint :
<code>@PutMapping("/administrate/{id}")
public UserDTO administrateUser(@PathVariable Long id, @RequestBody UpdateUserByAdminDTO requestBody) {}
</code>
<code>@PutMapping("/administrate/{id}")
public UserDTO administrateUser(@PathVariable Long id, @RequestBody UpdateUserByAdminDTO requestBody) {}
</code>
@PutMapping("/administrate/{id}")
public UserDTO administrateUser(@PathVariable Long id, @RequestBody UpdateUserByAdminDTO requestBody) {}
DTO:
<code>@Getter
@Setter
@NoArgsConstructor
public class UpdateUserByAdminDTO {
private Boolean isBanned;
private RoleEnum role;
}
</code>
<code>@Getter
@Setter
@NoArgsConstructor
public class UpdateUserByAdminDTO {
private Boolean isBanned;
private RoleEnum role;
}
</code>
@Getter
@Setter
@NoArgsConstructor
public class UpdateUserByAdminDTO {
private Boolean isBanned;
private RoleEnum role;
}
For example, when request body is not properly set :
<code>{
"isBanned": false,
"role":"USzdER"
}
</code>
<code>{
"isBanned": false,
"role":"USzdER"
}
</code>
{
"isBanned": false,
"role":"USzdER"
}
I want to receive a 400 status error with message “role is invalid”.
I am not sure I can acquieve this with validation.
Currently I don’t understand why I receive a 403 error while user is logged and as appropriate permission.