Как обернуть несколько строк в одну строку в почтальоне для вызова Spring boot rest API Получить запрос - PullRequest
0 голосов
/ 01 февраля 2020

Может кто-нибудь помочь мне, как я могу обернуть несколько строк в одну строку в почтальоне и вызвать Spring boot rest API.

от почтальона Я вызываю мой API отдыха через GET-запрос

localhost:8084/restapi/v1?searchRequest= {"userId":"value1","userGroup":"value2","staus":"value2"}

здесь внутри searchRequest Я хотел бы обернуть «userId», «userGroup» и «status» значениями, чтобы вызвать мой запрос получения из пружинного загрузочного API. и в моем классе обслуживания я пытаюсь преобразовать эту строку в DTO, но она не конвертируется, вот мой код в контроллере, уровень обслуживания, класс утилит

    Controller:


    @Autowired
        private UserUtility userUtility;

        @GetMapping(path = "/restapi/v1", consumes = "text/plain")
            public UserInfoDetails searchUserDetails(@RequestParam String searchRequest) {

                UserInfoDetails userInfoDetails = new UserInfoDetails();
                try {
                    userUtility.searchUserDetails(searchRequest);
                } catch (Exception e) {
                    e.printStackTrace();

                }
                return userInfoDetails;
            }

    Util class

@Autowired

    private ModelMapper mapper;

    public UserInfoDetails searchUserDetails(String searchRequest) {

        UserInfoDetails userInfoDetails = new UserInfoDetails ();

        try {
        SearchRequest    SearchRequest =mapper.map(searchRequest, SearchRequest.class);
            //some business logic and assign the details to     userInfoDetails 

        } catch (Exception e) {
            e.printStackTrace();
        }

        return userInfoDetails ;

    }

    Search Request class

    @Getter
    @Setter
    @NoArgsConstructor
    @ToString
    public class SearchRequest {

        private String userId;

        private String userGroup;

        private String status;

    }

я пробовал несколько способов, но не смог добиться успеха Любые предложения будут очень признательны.

1 Ответ

0 голосов
/ 01 февраля 2020

Я бы предложил передать все параметры как RequestParam, и они связывают их с объектом напрямую

Запрос:

localhost:8084/restapi/v1?userId=value1,userGroup=value2,staus=value3

POJO:

@Getter
@Setter
@NoArgsConstructor
@ToString
public class SearchRequest {

    private String userId;

    private String userGroup;

    private String status;

}

Контроллер:

@GetMapping(path = "/restapi/v1", consumes = "text/plain")
        public UserInfoDetails searchUserDetails(SearchRequest searchRequest){

            //some code
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...