【无标题】

本文介绍了Maven在Java项目中的应用,包括项目导入和依赖配置。同时详细讲解了SpringBoot中的HTTP请求处理,如参数解析(包括基本类型、数组、集合、日期和JSON)、路径参数以及统一响应格式。还涉及到了基础的三层架构概念。
摘要由CSDN通过智能技术生成

maven

1.maven简介

它用于管理和构建java项目

2.maven作用

3.maven项目idea的导入

4.maven依赖配置

  • 依赖传递

  • 依赖排除

  • 控制依赖范围

maven生命周期

SpringBoot

快速入门

http简介

Web服务器--Tomcat

Postman - 网页测试工具

接收数据的方法

简单参数

package com.yxd.http_postman.controller;

import jakarta.servlet.http.HttpServletRequest;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class RequstController {

    //创建一个方法接收浏览器输入的信息,然后输出到控制台,浏览器页面会输出return ok
    // @RequestMapping("/yxd")
    /* 常规方式
    public String function(HttpServletRequest request){
        String name = request.getParameter("name");
        String ageStr = request.getParameter("age");
        int age = Integer.parseInt(ageStr);
        System.out.println(name+":"+age);
        return "OK";
        }
        */
    //springboot方式
    @RequestMapping("/yxd")
    //@RequestParam(name = "name" ,required = false设置参数是否为必填
    public String function(@RequestParam(name = "name" ,required = false) String name, int age){
        System.out.println(name+":::"+age);
        return "okokok";
    }

}

数组和集合请求参数

package com.yxd.http_postman.controller;

import jakarta.servlet.http.HttpServletRequest;
import org.springframework.web.bind.annotation.Mapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.List;

@RestController
public class RequstController {

    //创建一个方法接收浏览器输入的信息,然后输出到控制台,浏览器页面会输出return ok
    // @RequestMapping("/yxd")
    /* 常规方式
    public String function(HttpServletRequest request){
        String name = request.getParameter("name");
        String ageStr = request.getParameter("age");
        int age = Integer.parseInt(ageStr);
        System.out.println(name+":"+age);
        return "OK";
        }
        */
    //springboot方式
    @RequestMapping("/yxd")
    //@RequestParam(name = "name" ,required = false设置参数是否为必填
    public String function(@RequestParam(name = "name" ,required = false) String name, Integer age){
        System.out.println(name+":::"+age);
        return "okokok";
    }

    @RequestMapping("/array")           //hobby要和请求中的属性相同
    public String arrayParam(String[] hobby){
        System.out.println(Arrays.toString(hobby));
        return "数组请求参数ok";
    }

    @RequestMapping("/list")
//参数是集合时,不能直接作为参数类型,前面需要声明一个RequestParam注解
    public String listParam(@RequestParam List<String> hobby){
        System.out.println(hobby);
        return "集合请求参数ok";
    }

}

日期请求参数

 @RequestMapping("/data")
    //@DateTimeFormat注解为时间参数设置格式
//LocalDateTime类型的日期格式好像要指定“yyyy-MM-dd HH:mm:ss”
    public String dataParam(@DateTimeFormat(pattern ="yyyy-MM-dd HH:mm:ss") LocalDateTime upData){
        System.out.println(upData);
        return "日期请求参数";
    }

 Json参数

 json请求参数

@RequestMapping("/json")
    //json格式请求数据要加上@RequestBody注解,它可以将json格式的数据封装到一个实体对象中去
    public String jsonParam(@RequestBody User user){
        System.out.println(user);
     return "json请求参数"  ;
    }

在Spring Boot中,用于接收HTTP发送过来的参数的类型可以使用包装类(如Integer)或基本数据类型(如int)。选择使用哪种类型取决于具体的需求和用途。

使用包装类(如Integer)的主要好处是可以更好地处理空值。当接收的参数为int类型时,如果没有传递相关参数,那么该参数的值将为0,无法明确区分是用户传递的实际值还是无效的值。而使用Integer类型,如果没有传递相关参数,参数的值将为null,可以明确表示参数未被设置。

此外,使用包装类还可以更轻松地进行对参数进行校验和处理。Spring Boot提供了许多用于参数校验的注解,如@NotNull@Min@Max等,这些注解在处理包装类类型时更加简便。

然而,如果确实不需要处理空值,并且确定参数的值不会超出基本数据类型的范围,那么使用基本数据类型(如int)也是可以的,并且通常会略微提高性能。

路径请求参数

 @RequestMapping("/path/{id}")
    public String pathParam(@PathVariable Integer id){
        System.out.println(id);
        return "路径请求参数";
    }

响应数据 

一旦在类上加了ResponseBody这个注解那当前类的所有方法的return的数据都会作为响应的数据

统一响应结果

设置Result类,不管进行增删改查业务,都能统一响应一种格式的json数据

三层架构

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值