springboot

springboot

springboot web应用

REST风格

image-20210729160955518

下面是在controller中各个路径注解对应的参数的传递

package com.hand.demo01.controller;

import org.springframework.web.bind.annotation.*;

/**
 * @author qingsheng.chen@hand-china.com
 */
@RestController
@RequestMapping("/rest")
public class RestDemoController {

    @RequestMapping(method = RequestMethod.GET, path = "/demo1")
//    @GetMapping(path = "/demo1")
    public String demo1() {
        return "Hello World";
    }
		//通过路径上传参数
    @GetMapping(path = "/demo2/{name}")
    public String demo2(@PathVariable String name) {
        return "Hello " + name;
    }

    @GetMapping(path = "/demo3")
    public String demo3(@RequestParam String name) {
        return "Hello " + name;
    }

    @PostMapping(path = "demo4")
    public String demo4(@RequestBody String name) {
        return "Hello " + name;
    }

    @PostMapping(path = "demo5")
    public String demo5(@RequestParam String name) {
        return "Hello " + name;
    }
}

  1. 没有参数的接口
    @GetMapping(path = "/demo1")
    public String demo1() {
        return "Hello World";
    }

image-20210729165340792

  1. 路径上通过{}传参数,通过@PathVariable注解传递参数,要求方法中参数名和传递的参数名要一致

     //通过路径上传参数
    

    @GetMapping(path = “/demo2/{name}”)
    public String demo2(@PathVariable String name) {
    return "Hello " + name;
    }

image-20210729165410724

  1. query传参数,在url上以 ? key=value 的形式来拼接 传参数。通过@RequestParam传参数,要求方法中参数名和传递的参数名要一致
 @GetMapping(path = "/demo3")
    public String demo3(@RequestParam String name) {
        return "Hello " + name;
    }

image-20210729165519009

  1. body传参数,通过映射参数。@RequestBody传参数
 @PostMapping(path = "demo4")
    public String demo4(@RequestBody String name) {
        return "Hello " + name;
    }

image-20210729165552838

  1. formdata传参数,@RequestParam传参数
    @PostMapping(path = "demo5")
    public String demo5(@RequestParam String name) {
        return "Hello " + name;
    }

image-20210729165611657

springboot 数据相关

关系型数据库

image-20210729160431933

JPA

image-20210729160639874

实体类注解中

@NotBlank,@NotNull的区别:

@NotNull表示不能为Null,@NotBlank表达不能为Null并且不能为空字符串(即‘’“)

@Range表示范围

@Range(min = 1, max = 100)
private Integer age;

@JsonIgnore注解可以隐藏在url的参数,例如密码之类的

@JsonIgnore
private String pwd;
//或者在类上面加
@JsonIgnoreProperties("pwd")

@JsonIncloude(JsonInclude.Include.NON_NULL)注解放在类上面可以返回不为空的字段

controller注解中

XXXRepository.save方法底层逻辑

如果保存的对象存在XXXId(也就是主键)则执行更新,如果不存在主键则执行新增,如果有主键且数据库中没有存储这个主键则也执行新增。

如果要在控制台打印sql

在application.properties中加入spring.jpa.show-sql=true

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值