SpringBoot注解

一、启动注解

@SpringBootApplication

标识这是一个SpringBoot应用,用来开启Spring Boot 的各项功能
该配置等同于:@SPringleBootConfiguration、@EnableAutoConfiguration、@ComponentScan三个注解的组合。

@SpringBootConfiguration

继承@Configuration注解,加载配置文件。

@EnableAutoConfiguration

开启自动配置功能。如:当前类路径下有 Mybatis 这个 JAR 包,MybatisAutoConfiguration 注解就能根据相关参数来配置 Mybatis 的各个 Spring Bean。

@ComponentScan

组件扫描和自动装配

二、Controller相关注解

@Controller

用于定义控制器类,由控制器负责将用户发来的URL请求转发到对应的服务接口(service层),一般该注解在类中,通常需要配合注解@RequestMapping

@RestController

用于标注控制层组件,@ResponseBody和@Controller的合集

@ResponseBody

表示该方法的返回结果直接写入HTTP response body中,一般在异步获取数据时使用,用于构建RESTful的api。注解配合@RequestMapping一起使用。

@RequestMapping

提供路由信息,负责URL到Controller中的具体函数的映射。

@GetMapping

用于将HTTP get请求映射到特定处理程序得方法注解
1、前端传递参数是object,如{id:'1',name:'222'}
后端参数接收,里面放置的是一个实体类。

@GetMapping(value = "/generatedData")
    public Result<?> generatedData(ApplyObject applyObject) throws Exception {
       
    }

2、前端传递参数是object,如xxx/generatedData/id,id中放置的是具体的值
后端参数接收,需要使用@PathVariable String id

@GetMapping(value = "/generatedData/{id}")
    public Result<?> generatedData(@PathVariable("id") String id) throws Exception {
      
    }

3、前端传递参数是一个拼接的带?的字符串,如 xxx/generatedData?id=1&name=222
后端参数接收,需要使用@RequestParam(“id”) String id @RequestParam 加上问号后面对应的字段名称

@GetMapping(value = "/generatedData")
    public Result<?> generatedData( @RequestParam("id") String id, @RequestParam("name") String name) throws Exception {
   
    }

@PostMapping

1、前端传递参数是object,如{id:'1',name:'2222'}
后端参数接收,需要使用@RequestBody ApplyObject applyObject requestBody里面放置的是一个实体类

 @PostMapping(value = "/generatedData")
    public Result<?> generatedData(@RequestBody ApplyObject applyObject) throws Exception {       
    }

2、前端传递参数是object,如{id:'1',name:'2222'}
后端参数接收,需要使用@RequestBody ApplyObject applyObject requestBody里面放置的是一个实体类,不想用实体类接收的话,可以用Jsobject来接收 这个包package com.alibaba.fastjson;

@PostMapping(value = "/generatedData")
    public Result<?> generatedData(@RequestBodyJSONObject jsonObject) throws Exception {
        String id = jsonObject.getString("id");
        String name = jsonObject.getString("name");
    }

3、前端传递的参数是一个拼接带?的字符串,如xxx/generatedData?id=1&name=222
后端参数接收,需要使用@RequestParam(“id”) String id @RequestParam 加上问号后面对应的字段名称

  @PostMapping(value = "/generatedData")
    public Result<?> generatedData( @RequestParam("id") String id, @RequestParam("name") String name) throws Exception {
    }

案例:

 @GetMapping(value = "/queryUserById/{id}")
    private Demo queryUserById(@PathVariable(value = "id") long id){
        return demoService.queryUserById(id);
    }

    @PostMapping(value ="/queryUserById")
    private Demo queryUserByID(@RequestBody Demo demo){
        return demoService.queryUserById(demo.getId());
    }
    
    @GetMapping(value ="/queryUserById")
    private Demo queryUserById(@RequestParam(value = "id") long id){
        return demoService.queryUserById(id);
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值