首页 > 其他分享 >常用注解-SpringBoot请求

常用注解-SpringBoot请求

时间:2023-04-01 23:13:12浏览次数:48  
标签:SpringBoot 请求 User String user pass 注解 public name

SpringBoot请求

常用注解及作用范围:

  1. @Controller :【类】需要返回一个视图(themleaf),加注解4@ResponseBody等于注解2
  2. @RestController:【类】返回字符串等,与注解1都属于控制器,
  3. @RequestMapping:【方法/类】设置方法或者类的请求地址,
  4. @ResponseBody:【方法】支持将返回值放在response体内,而不是返回一个页面,
  5. @RequestParam:【形参】获取request请求的参数值,
  6. @RequestBody:【形参】用于将前台发送过来固定格式的数据【xml格式 或者 json等】封装为对应的 JavaBean 对象
  7. @PathVariable:【形参】用来获得请求url中的动态参数

相关实例及请求

{{local}}:http://localhost:8080

请使用PostMan请求,无效果请重新构建、刷新缓存等操作。

GET无参请求

请求地址:

{{local}}/hello

代码如下:

/**
 * @author xbhog
 */
@Slf4j
@SpringBootApplication
@RestController
public class AnnotationScaffoldApplication {

    public static void main(String[] args) {
        SpringApplication.run(AnnotationScaffoldApplication.class, args);
    }

    @GetMapping(value = "/hello")
    public  ResponseEntity<String> hello(){
        return new ResponseEntity<>("hello world!", HttpStatus.OK);
    }
}

GET单参请求-@PathVariable

请求地址:

{{local}}/user/22

代码如下:

/**
 * @author xbhog
 */
@Slf4j
@SpringBootApplication
@RestController
public class AnnotationScaffoldApplication {

    public static void main(String[] args) {
        SpringApplication.run(AnnotationScaffoldApplication.class, args);
    }

    @RequestMapping(value="/user/{userId}",method = RequestMethod.GET)
    public ResponseEntity<String> getLogin(@PathVariable("userId") String userId){
        System.out.println("User Id : " + userId);
        return new ResponseEntity<>(userId, HttpStatus.OK);
    }
}

GET多参请求-@RequestParam

请求地址:

{{local}}/user?username=xbhog&pass=111111

代码如下:

/**
 * @author xbhog
 */
@Slf4j
@SpringBootApplication
@RestController
public class AnnotationScaffoldApplication {

    public static void main(String[] args) {
        SpringApplication.run(AnnotationScaffoldApplication.class, args);
    }

    public ResponseEntity<String> getLogin2(@RequestParam("username") String username,
                                            @RequestParam("pass") String pass){
        System.out.println("User name : " + username);
        System.out.println("User pass : " + pass);
        return new ResponseEntity<>(username, HttpStatus.OK);
    }
}

GET Map请求-@RequestParam

请求地址:

{{local}}/userMap?name=xbhog&pass=111111

代码如下:

/**
 * @author xbhog
 */
@Slf4j
@SpringBootApplication
@RestController
public class AnnotationScaffoldApplication {

    public static void main(String[] args) {
        SpringApplication.run(AnnotationScaffoldApplication.class, args);
    }

    @RequestMapping(value="/userMap",method = RequestMethod.GET)
    public ResponseEntity<String> getLogin3(@RequestParam Map<String,String> user){
        System.out.println("User name : " + user.get("name"));
        System.out.println("User pass : " + user.get("pass"));
        return new ResponseEntity<>(JSON.toJSONString(user), HttpStatus.OK);
    }
}

GET对象请求

请求地址:

{{local}}/userPojo?name=xbhog&pass=111111

代码如下:

/**
 * @author xbhog
 */
@Slf4j
@SpringBootApplication
@RestController
public class AnnotationScaffoldApplication {

    public static void main(String[] args) {
        SpringApplication.run(AnnotationScaffoldApplication.class, args);
    }

    @RequestMapping(value="/userPojo",method = RequestMethod.GET)
    public ResponseEntity<String> getLogin7(User user){
        System.out.println("User name : " + user.getName());
        System.out.println("User pass : " + user.getPass());
        return new ResponseEntity<>(JSON.toJSONString(user), HttpStatus.OK);
    }
}

POST单参请求-@RequestBody

请求地址:

{{local}}/user?username=xbhog

代码如下:

/**
 * @author xbhog
 */
@Slf4j
@SpringBootApplication
@RestController
public class AnnotationScaffoldApplication {

    public static void main(String[] args) {
        SpringApplication.run(AnnotationScaffoldApplication.class, args);
    }

    @RequestMapping(value="/user",method = RequestMethod.POST)
    public ResponseEntity<String> getLogin4(@RequestBody String username){
        System.out.println("User name : " + username);
        return new ResponseEntity<>(username, HttpStatus.OK);
    }
}

POST Map请求-@RequestParam

请求地址:

{{local}}/userMap
------json
{ "name":"xbhog", "pass":"111111" }

代码如下:

/**
 * @author xbhog
 */
@Slf4j
@SpringBootApplication
@RestController
public class AnnotationScaffoldApplication {

    public static void main(String[] args) {
        SpringApplication.run(AnnotationScaffoldApplication.class, args);
    }

   	@RequestMapping(value="/userMap",method = RequestMethod.GET)
    public ResponseEntity<String> getLogin3(@RequestParam Map<String,String> user){
        System.out.println("User name : " + user.get("name"));
        System.out.println("User pass : " + user.get("pass"));
        return new ResponseEntity<>(JSON.toJSONString(user), HttpStatus.OK);
    }
}

POST对象请求-@RequestBody

请求地址:

{{local}}/userPojo
-------json
 { "name":"xbhog", "pass":"111111" }

代码如下:

/**
 * @author xbhog
 */
@Slf4j
@SpringBootApplication
@RestController
public class AnnotationScaffoldApplication {

    public static void main(String[] args) {
        SpringApplication.run(AnnotationScaffoldApplication.class, args);
    }

   @RequestMapping(value="/userPojo",method = RequestMethod.POST)
    public ResponseEntity<String> getLogin6(@RequestBody User user){
        System.out.println("User name : " + user.getName());
        System.out.println("User pass : " + user.getPass());
        return new ResponseEntity<>(JSON.toJSONString(user), HttpStatus.OK);
    }
}

实现对象

代码如下:

static class User{
    private String name;
    private String pass;

    public User() {
    }

    public User(String name, String pass) {
        this.name = name;
        this.pass = pass;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPass() {
        return pass;
    }

    public void setPass(String pass) {
        this.pass = pass;
    }

    @Override
    public String toString() {
        return "User{" +
                "name='" + name + '\'' +
                ", pass='" + pass + '\'' +
                '}';
    }
}

Github完整代码:https://github.com/xbhog/AnnotationScaffold

标签:SpringBoot,请求,User,String,user,pass,注解,public,name
From: https://www.cnblogs.com/xbhog/p/17279647.html

相关文章

  • SpringBoot进阶教程(七十五)数据脱敏
    无论对于什么业务来说,用户数据信息的安全性无疑都是非常重要的。尤其是在数字经济大火背景下,数据的安全性就显得更加重要。数据脱敏可以分为两个部分,一个是DB层面,防止DB数据泄露,暴露用户信息;一个是接口层面,有些UI展示需要数据脱敏,防止用户信息被人刷走了。v需求背景DB层面的......
  • Spring 如何开启基于注解的自动装配?
    要使用​​@Autowired​​​,需要注册​​AutowiredAnnotationBeanPostProcessor​​,可以有以下两种方式来实现:引入配置文件中的​​<bean>​​​下引入​​<context:annotation-config>​​ <beans>  <context:annotation-config/></beans> 在bean配置文件中直接......
  • Spring 如何开启基于注解的自动装配?
    要使用​​@Autowired​​​,需要注册​​AutowiredAnnotationBeanPostProcessor​​,可以有以下两种方式来实现:引入配置文件中的​​<bean>​​​下引入​​<context:annotation-config>​​ <beans>  <context:annotation-config/></beans> 在bean配置文件中直接......
  • JAVASE:注解与反射笔记
    JavaSE:注解与反射(Annotation&Reflection)​注解和框架是所有框架的底层,如Mybatis,spring。框架的底层实现机制就是注解和反射。注解相比于注释,除了能较为直接的表示出这部分模块的功能,也能实现一定的具体功能。01初识注解1.1什么是注解Annotation是从JDK5.0引入......
  • 注解完成增删改查
    使用注解开发会比配置文件开发更加方便*查询:@Select*添加:@Insert*修改:@Update*删除:@Delete提示:注解完成简单功能配置文件完成复杂功能   ......
  • SpringBoot项目启动时初始化操作方式
    1.实现InitializingBean重写afterPropertiesSet()方法。@Component@Slf4jpublicclassInitOneTestimplementsInitializingBean{@OverridepublicvoidafterPropertiesSet()throwsException{log.info("InitOneTestinitsuccess");}}2......
  • 3·1HTTP协议特点、3·2详解URL与URI的区别与联系、3·3HTTP报文结构分析、3·4HTTP请
     HTTP协议特点支持客户/服务器模式客户/服务器模式工作的方式是由客户端向服务器发出请求,服务器端响应请求,并进行相应服务简单快速 客户端向服务器请求服务时,只需传输请求方法和路径 请求方法常用的有GET、HEAD、POST。每种方法规......
  • springboot和redis执行lua脚本——踩坑
    问题:原先想使用redis执行lua脚本作为项目限流基础,lua脚本后写完后执行一直报错如下图:  卡了几天了,没看明白咋回事,一次偶然试了一下解决了,传递lua参数需要时String类型难怪说报错强转String类型异常  灵感来源参考文章:踩坑之RedisTemplate执行Lua脚本-知乎(zhihu.c......
  • 基于Spring的AOP(注解方式)
    面向切面编程:基于Spring的AOP(注解方式)1-配置:pom文件:<packaging>jar</packaging><dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactI......
  • Springboot 系列 (26) - Springboot+HBase 大数据存储(四)| Springboot 项目通过 HBase
    ApacheHBase是Java语言编写的一款Apache开源的NoSQL型数据库,不支持SQL,不支持事务,不支持Join操作,没有表关系。ApacheHBase构建在ApacheHadoop和ApacheZookeeper之上。ApacheHBase:https://hbase.apache.org/HBase的安装配置,请参考“Springboot系列(24)-......