So, url requested looks like
localhost:8080/contacts?id=22&name=John&eventId=11
and also I got an object to map request into
public class ContactDTO {
    private Long id;
    private String name;
    private Long eventId;
}
I use a controller method like passing my request params into an object
@GetMapping("/contacts")
public ContactDTO contacts(ContactDTO contact) {
    // everything is awesome! contact maps clearly
    return contact;
}
The question is how to map like this but have different name
    localhost:8080/contacts?id=22&name=John&event_id=11
Setting @JsonAttribute doesn't works because Jackson mapper works only in requestbody. Maybe I should write custom HandlerMethodArgumentResolver or something like that?
P.S. I've got a dirty hack (objectMapper is injected, so I can use @JsonAttributes), But this case fails on array mapping, same mapping with requestbody works fine
@GetMapping("/contacts")
public ContactsDTO contacts(@RequestParam Map<String,String> params) {
    ContactDTO contactDTO = objectMapper.convertValue(params,ContactDTO.class);
    return contactDTO;
}
 
     
     
    