通过spring boot编写接口

通过springboot搭建一个get接口,声明接口路径,请求参数,返回一个字符串。

  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7756463
  • 你也可以参考下这篇文章:论 spring (boot) get请求的正确姿势(多参数处理/嵌套参数处理)
  • 你还可以看下spring参考手册中的 spring boot-4.开始工作-4.4.开发你的第一个Spring Boot应用程序-4.4.5.创建一个可执行的罐子
  • 除此之外, 这篇博客: Spring Boot核心知识点小结中的 Spring Boot 如何做请求参数校验?能不能给我说说怎么使用。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 答: 有两种校验框架,一个是Hibernate Validator,还有一个是JSR(Java Specification Requests)校验,后者比较常用,无需引入特殊的依赖。就例如我们现在有个Person类,希望名字不为空,性别是是数字最大值为2,而email必须为邮箱格式,那么我们就可以基于JSR的注解进行说明。

    public class Person {
    
        @NotNull(message = "姓名不可为空")
        @Size(max = 10, message = "姓名长度不可超过10位")
        private String name;
    
        @Max(value = 2, message = "性别最大值只能为2")
        private int sex;
        @Email(message = "邮箱格式不正确")
        private String email;
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public int getSex() {
            return sex;
        }
    
        public void setSex(int sex) {
            this.sex = sex;
        }
    
        public String getEmail() {
            return email;
        }
    
        public void setEmail(String email) {
            this.email = email;
        }
    
        @Override
        public String toString() {
            return "Person{" +
                    "name='" + name + '\'' +
                    ", sex='" + sex + '\'' +
                    ", email='" + email + '\'' +
                    '}';
        }
    }
    

    当他作为controllerrequestBody的参数时,用法如下所示

     @PostMapping("/test/hello")
        public void hello(@Valid Person person) {
            logger.info("hello {}", person.getName());
        }
    

    假如我们想校验路径参数时,我们只需在Controller上方加一个注解@Validated,然后对于路径参数加入校验注解Valid +校验规则注解即可即可。

    @GetMapping("/test/hello2/{id}")
        public void hello2(@Valid @PathVariable("id") @Max(value = 5,message = "最大值为5") Integer  id) {
            logger.info("hello {}", id);
        }
    

    补充一下常见的一些校验注解:

    1. @NotEmpty 被注释的字符串的不能为 null 也不能为空
    2. @NotBlank 被注释的字符串非 null,并且必须包含一个非空白字符
    3. @Null 被注释的元素必须为 null
    4. @NotNull 被注释的元素必须不为 null
    5. @AssertTrue 被注释的元素必须为 true
    6. @AssertFalse 被注释的元素必须为 false
    7. @Pattern(regex=,flag=)被注释的元素必须符合指定的正则表达式
    8. @Email 被注释的元素必须是 Email 格式。
    9. @Min(value)被注释的元素必须是一个数字,其值必须大于等于指定的最小值
    10. @Max(value)被注释的元素必须是一个数字,其值必须小于等于指定的最大值
    11. @DecimalMin(value)被注释的元素必须是一个数字,其值必须大于等于指定的最小值
    12. @DecimalMax(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值
    13. @Size(max=, min=)被注释的元素的大小必须在指定的范围内
    14. @Digits(integer, fraction)被注释的元素必须是一个数字,其值必须在可接受的范围内
    15. @Past被注释的元素必须是一个过去的日期
    16. @Future 被注释的元素必须是一个将来的日期
    
    
  • 您还可以看一下 张长志老师的SpringBootIDEA版SpringBoot视频教程(上)核心技术篇课程中的 01_SpringBoot_入门-课程简介小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    我可以为您解答关于通过Spring Boot编写GET接口的问题。

    首先,您可以创建一个RestController类,并在此类中定义一个GET接口。这个接口可以使用@GetMapping注解来标识。

    您可以通过RequestParam注解为接口添加查询参数。这个注解可以帮助您获取请求中的参数值,并将其与方法的参数进行绑定。

    最后,您可以在接口的方法体中返回一个字符串作为响应。

    下面是一个使用Spring Boot编写GET接口的示例代码:

    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RequestParam;
    import org.springframework.web.bind.annotation.RestController;
    
    @RestController
    public class HelloController {
    
        @GetMapping("/hello")
        public String hello(@RequestParam("name") String name, @RequestParam("age") int age) {
            return "Name: " + name + ", Age: " + age;
        }
    }
    

    在上述示例代码中,我们创建了一个名为HelloController的RestController类。这个类中的hello方法使用@GetMapping注解来声明了一个GET接口,路径为"/hello"。

    hello方法的参数中使用了@RequestParam注解来获取名为"name"和"age"的查询参数,并将其与方法的参数进行绑定。

    方法体中,我们将参数name和age拼接成一个字符串作为响应。

    您可以通过访问http://localhost:8080/hello?name=tom&age=10来测试这个接口。在浏览器中打开这个链接,您将会看到返回的字符串结果。

    希望以上信息能够对您有所帮助。如果您还有其他问题,请随时向我提问。

https://blog.csdn.net/xishining/category_11785836.html?spm=1001.2014.3001.5482

@RestController
@RequestMapping("/test")
public class TestControl {
 @RequestMapping(value = "/checkLive", method = RequestMethod.GET)
    public String testJson() {
return "test";
}
}