Можем ли мы передать объект в запросе GET при весенней загрузке? - PullRequest
0 голосов
/ 02 марта 2020

Когда я передаю тело в GET-запросе нижеприведенному API, он выбрасывает неверный запрос 400. Если я прохожу через клиента Feign, метод его вызова не найден, он внутренне преобразует GET-запрос в POST-запрос. Можете ли вы предложить, что возможные способы я могу сделать? кроме изменения запроса на POST

API

@GetMapping("/users")
    @ApiOperation(value = "Retrieve users by role names list", notes = "Retrieves users by role name or role names passed in the list")
    @ApiResponses(value = { @ApiResponse(code = 404, message = "ROLE_NOT_FOUND") })
    public PagedResources<Resource<UserResponse>> retrieveUsersByRoleNames(@RequestBody RoleNameRequest roleNameRequest,
                                                                           @RequestParam(name = "includeLocked", required = false) Boolean locked,
                                                                           @RequestParam(name = "excludeUserId", required = false) String userId,
                                                                           @RequestParam(name = "includeDeleted", required = false) Boolean isDeleted,
                                                                           Pageable page,
                                                                           PagedResourcesAssembler<UserResponse> pagedAssembler) {

        Subscription subscription = serviceUtility.fetchSubscription();
        Page<UserResponse> pageUserResponse = roleService.findAllByRoleNames(roleNameRequest, locked, isDeleted, userId, subscription,page)
                .map(userAttribute -> ModelConverter.modelResponse(userAttribute, true));
        log.info("pageUserResponse : " + pageUserResponse);
        log.info("pageUserResponse.getTotalElements() : " + pageUserResponse.getTotalElements());
        log.info("page details size for roleNames list: " + pageUserResponse.getContent().size());
        log.info("page details values for roleNames list: " + pageUserResponse.getContent().toString());
        return pagedAssembler.toResource(pageUserResponse);
    }

Request

    RoleNameRequest roleNameRequest = new RoleNameRequest();
                    roleNameRequest.setRoleNames(identity.getPrimaryRoles());
                    List<UserResponseWithWorkload> usersWithWorkload = null;
                    try {
                        log.info("Pager Details : " + pageable.toString());
                        log.info("subscriptionId : " + subscriptionId);     
  causing exception ->  resources = securityServiceFeignClient.retrieveUsersByMultipleRoles(roleNameRequest,
                                subscriptionId, pageable.getPageNumber(), pageable.getPageSize(),userId);
                        usersWithWorkload = getUsersWithWorkload(resources.getContent().toArray(),
                                workload, identity.getActivityId(), identity.getAssignmentMode());
                        log.info(" Resource from security service : " + resources.getContent().toString());
                        log.info(" Resource size from security service : " + resources.getContent().size());
                        log.info(" Resource array from security service : " + resources.getContent().toArray());
                    } catch (Exception e) {
                        log.error(e.getMessage(), e);
                    }

1 Ответ

0 голосов
/ 02 марта 2020

Попробуйте использовать @ ModelAttribute аннотацию

@ModelAttribute("myObject") MyObject myObject
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...