当前位置: 首页 > 知识库问答 >
问题:

如何在postman中将多个字符串包装成单个字符串调用Spring boorest API获取请求

赵献
2023-03-14

有谁能帮我在postman中如何将多个字符串包装成单个字符串并调用spring boot rest API吗。

从邮递员,我通过GET请求调用我的rest API

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

在searchRequest中,我想用值包装“userId”、“userGroup”和“status”,以调用我的spring boot rest API Get请求。在我的服务类中,我试图将这个字符串转换为DTO,但它没有转换,这是我在控制器、服务层、util类中的代码

    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个答案

严锐
2023-03-14

我建议将所有参数作为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
        }
 类似资料:
  • 问题内容: 我不知道如何从字符串中获取Unicode字符。例如,如果字符串是“你好”,我如何获得第一个字符“你”? 从另一个地方我得到一种方法: 确实有效。但是我仍然有一些问题: 还有另一种方法吗? 为什么在Go中不能从字符串中获取Unicode字符,却可以获取字节数据? 问题答案: 首先,您可能需要阅读https://blog.golang.org/strings 。它将回答您的部分问题。 Go

  • 问题内容: 如何使用php从字符串中获取前5个字符 结果应该是这样的 问题答案: 对于单字节字符串(例如US-ASCII,ISO8859系列等),请使用;对于多字节字符串(例如UTF-8,UTF-16等),请使用:

  • 问题内容: 我想替换包含特定子字符串的所有字符串。因此,例如,如果我有此数据框: 我可以用字符串“ ball sport”代替足球,如下所示: 我想,虽然是替换包含所有(在这种情况下和)与“球运动”。像这样: 问题答案: 您可以用来掩盖包含“ ball”的行,然后用新值覆盖: 要使其不区分大小写,请通过`case = False:

  • 问题内容: 我想,以取代所有和使用 但我不喜欢我的代码… 有没有比以下方法更有效的方法: ? toLowerCase()就在那里,因为我也希望它也小写… 问题答案: 编辑: 使用正则表达式,并且在字符类内部使用仅识别一个而不是任何字符。

  • 问题内容: 我尝试在线搜索以解决此问题,但未找到任何内容。 我编写了以下抽象代码来解释我的要求: 方法splitByNumber每4个字符分割一次字符串“ text”。我如何创建此方法? 非常感谢 问题答案: 我认为他想要的是将一个字符串分成大小为4的子字符串。然后我将在循环中执行此操作:

  • 问题内容: 我正在尝试使程序执行以下操作: 假设我们有一个被设置为的被叫。我想输出给用户,每个单词的第一个字符。我尝试使用该方法,但是没有成功。 我的代码: 我试图检测是否有空格,那么我可以简单地获取下一个索引。谁能告诉我我在做什么错? 问题答案: 尝试按(空格)分割,然后获取每个单词的(第一个字符)并按如下方式打印: