当前位置: 首页 > news >正文

javaweb中的请求与响应--基于postman工具的应用(附带postman的详细安装步骤)

一、前言

后端的第一天感觉难度就上来了,可能是基础太过薄弱了吧。目前看视频已经有点跟不上了,果然15天想要拿下还是太勉强了点。30天还差不多。不知道读者们有没有好好的去学这方面的知识,没有什么是学不会的,关键是坚持。

Postman这款应用一定要好好的去熟悉一下,挺重要的。

明天试着做一下综合案例,ヾ(◍°∇°◍)ノ゙。

二、Postman简介

Postman 是一个流行的 API 开发工具,主要用于测试、调试和管理 API。它提供了一个用户友好的界面,使开发者能够轻松地发送 HTTP 请求、查看响应以及分析请求的结果。以下是 Postman 的主要特点和功能:

发送 HTTP 请求

  • Postman 允许用户发送各种类型的 HTTP 请求,如 GET、POST、PUT、DELETE 等,可以设置请求头、请求体、参数等。

组织和管理请求

  • 用户可以创建多个请求集合,每个集合可以包含多个请求,方便组织和管理不同的 API 请求。

自动化测试

  • Postman 支持创建测试脚本,可以自动化执行 API 的测试,验证响应的正确性和性能。

环境和变量

  • 可以设置环境变量和全局变量,用于在不同的环境中管理 API 的请求和测试。

实时调试

  • 提供实时的响应预览和格式化,方便开发者查看 API 返回的数据,支持多种数据格式,如 JSON、XML、HTML 等。

协作与分享

  • Postman 允许用户分享请求和集合,方便团队成员协作,还可以导出和导入请求集合以便备份或分享给其他开发者。

集成其他工具

  • 支持与其他开发工具和服务集成,如 Swagger、GitHub、Jenkins 等,扩展了其功能和应用场景。

三、postman的安装

第一步:访问官网

Postman API Platform | Sign Up for Freeicon-default.png?t=N7T8https://www.postman.com/

第二步:下载

四、各种类型的请求

温馨提示:此部分只进行代码上的讲解,方法部分在全套源代码中。

1. 简单实体参数

//1.简单实体参数@RequestMapping("/simpleParam")public String simpleParam(String name,int age) {System.out.println(name+":"+age);return "OK";}

分析:

注解 @RequestMapping

  • @RequestMapping("/simpleParam") 指定了处理的 URL 路径为 "/simpleParam"。当有请求到达这个路径时,Spring MVC 将调用 simpleParam 方法来处理请求。

方法签名

  • public String simpleParam(String name, int age) 是控制器方法的签名。它接收两个参数:name(String 类型)和 age(int 类型)。

方法体

  • 方法体内首先使用 System.out.println(name+":"+age); 打印接收到的 name 和 age 参数值到控制台。
  • 然后方法返回字符串 "OK"。

参数绑定

  • Spring MVC 会根据请求中的参数名字和方法的参数名字进行自动绑定。例如,如果有一个 HTTP GET 请求发送到 /simpleParam,并且请求参数为 name=John 和 age=30,那么 Spring MVC 将自动将 name 绑定为 "John",将 age 绑定为整数 30。

返回值

  • 控制器方法的返回值为一个字符串 "OK"。在 Spring MVC 中,这个字符串通常表示请求处理成功,并返回给客户端。

结果展示:

2. 复杂实体参数

//2.复杂实体参数@RequestMapping("/complacePojo")public String complacePojo(user user){System.out.println(user);return "OK";}

代码分析:

  • 1.@RequestMapping("/complacePojo") 指定了处理的 URL 路径为 "/complacePojo"。当有请求到达这个路径时,Spring MVC 将调用 complacePojo 方法来处理请求。
  • 2.public String complacePojo(user user) 是控制器方法的签名。它接收一个名为 user 的参数,类型为 user。这里的 user 可能是一个自定义的 Java Bean 类,用于封装用户提交的数据。
  • 3.方法体内首先使用 System.out.println(user); 打印接收到的 user 对象到控制台。

        然后方法返回字符串 "OK"。

  • 4.Spring MVC 将尝试将 HTTP 请求中的参数与 user 类的属性进行自动绑定。例如,如果请求提交了 user 对象的属性 name 和 age,Spring MVC 将会尝试将这些值设置到 user 对象的对应属性上。
  • 5.控制器方法的返回值为一个字符串 "OK"。在 Spring MVC 中,这个字符串通常表示请求处理成功,并返回给客户端。

结果展示:

3. 数组参数

//3.数组参数@RequestMapping("/arrayParam")public String arrayParam(String[]hobby){System.out.println(Arrays.toString(hobby));return "OK";}

代码分析:

  • public String arrayParam(String[] hobby) 是控制器方法的签名。它接收一个名为 hobby 的参数,类型为 String[]。这表示它可以接收一个名为 hobby 的数组作为 HTTP 请求的参数。
  • System.out.println(Arrays.toString(hobby)); 打印接收到的 hobby 数组内容到控制台。这行代码将数组转换为字符串形式并输出,以便查看实际接收到的数据。
  • Spring MVC 将尝试将 HTTP 请求中的参数绑定到 hobby 数组上。例如,如果请求中包含多个名为 hobby 的参数(如 hobby=readinghobby=traveling),Spring MVC 将会将这些值存储在 hobby 数组中。
  • 这种方法适用于接收客户端传递的数组形式的数据,例如多选框选择、多个复选框的值等。通过定义方法参数为数组,Spring MVC 能够直接将这些值绑定到数组元素中。

注意事项

确保请求中的参数命名正确,并且与方法参数的名称相匹配。Spring MVC 将根据参数名进行自动绑定,因此名称不匹配可能导致绑定失败或错误的数据处理。

结果展示:

4. 集合参数

//4.集合传参@RequestMapping("/ListParam")public String ListParam(@RequestParam List<String>hobby){System.out.println(hobby);return "OK";}

代码分析:

  • public String ListParam(@RequestParam List<String> hobby) 是控制器方法的签名。它接收一个名为 hobby 的参数,类型为 List<String>。使用 @RequestParam 注解明确指定了要从请求中获取的参数名为 hobby
  • Spring MVC 将尝试将 HTTP 请求中名为 hobby 的参数的多个值绑定到 hobby 列表中。例如,如果请求中包含多个 hobby 参数(如 hobby=reading&hobby=traveling),Spring MVC 将这些值存储在 hobby 列表中。
  • 这种方法适用于需要接收多个同名参数的情况,例如多选框选择、多个复选框的值等。通过定义方法参数为 List<String> 类型,Spring MVC 能够直接将这些值绑定到列表中。

结果展示:

5. 日期和时间参数

//5.日期时间传参@RequestMapping("/dateParam")public String dateParam(@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime updateTime){System.out.println(updateTime);return "OK";}

代码分析:

  • public String dateParam(@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime updateTime) 是控制器方法的签名。它接收一个名为 updateTime 的参数,类型为 LocalDateTime。使用 @DateTimeFormat 注解指定了日期时间的格式为 "yyyy-MM-dd HH:mm:ss",以便正确解析请求中的日期时间字符串。
  • Spring MVC 将尝试将 HTTP 请求中的日期时间参数按照指定的格式 "yyyy-MM-dd HH:mm:ss" 解析为 LocalDateTime 对象,并将其传递给 updateTime 参数。
  • 这种方法适用于需要接收特定格式的日期时间参数的情况,例如记录最后更新时间、指定某个事件发生的时间等。

注意事项:

确保请求中的日期时间字符串格式与指定的 @DateTimeFormat 注解中的格式相匹配,否则会导致解析失败或者获得不正确的数据。

结果展示:

6. Json参数

//6.Json参数@RequestMapping("/jsonParam")public String jsonParam(@RequestBody user user){System.out.println(user);return "OK";}

代码分析:

  • public String jsonParam(@RequestBody user user) 是控制器方法的签名。它使用 @RequestBody 注解来指示 Spring MVC 从请求体中获取 JSON 数据,并尝试将其转换为 user 对象。这里的 user 类型是自定义的,通常应该包含与请求体 JSON 结构相匹配的字段。
  • @RequestBody 注解告诉 Spring MVC 从 HTTP 请求的主体中提取数据,并尝试将其转换为 user 对象。Spring MVC 使用默认的 JSON 转换器(通常是 Jackson)来完成从 JSON 到 Java 对象的反序列化过程。
  • 这种方法适用于需要接收复杂结构的 JSON 数据的情况,例如通过 REST API 提交用户信息、创建资源等操作。

注意事项

确保请求的 JSON 结构与 user 对象的字段名和类型相匹配,否则反序列化可能会失败或者得到不正确的数据。

user 类型必须有默认的无参构造函数,以便 JSON 反序列化库可以实例化对象。

结果展示:

7. 单个路径参数

//7.单个路径参数@RequestMapping("/pathParam/{id}")public String pathParam(@PathVariable int id){System.out.println(id);return "OK";}

代码分析:

  • @RequestMapping("/pathParam/{id}") 指定了处理的 URL 路径为 "/pathParam/{id}"。{id} 是一个占位符,表示这个路径可以接受一个名为 id 的变量作为参数。当有符合这个路径的 GET 请求到达时,Spring MVC 将调用 pathParam 方法来处理请求。
  • @PathVariable int id 注解在方法参数上,指示 Spring MVC 将 URL 中的 {id} 值映射到方法的 id 参数上。在这个例子中,Spring MVC 将提取路径中的 id 值,并将其转换为 int 类型,然后传递给方法 pathParam
  • Spring MVC 能够根据 URL 路径中的占位符 {id},将其解析为方法参数 id。这使得我们可以在路径中传递参数,而不是在请求体或查询参数中传递。
  • 这种方法适用于需要从 URL 中获取特定信息的情况,例如获取资源的详细信息,根据 ID 查询特定记录等操作。

注意事项:

确保路径中的变量名 {id} 与 @PathVariable 注解中的参数名 id 保持一致,以确保正确的参数绑定。

如果路径参数类型不匹配(例如路径中是数字,但方法参数是字符串),Spring MVC 可能会抛出类型转换错误或者返回 404 错误。

结果展示:

8. 多个路径参数

//8.多个路径参数@RequestMapping("pathParam2/{id}/{name}")public String pathParam2(@PathVariable int id,@PathVariable String name){System.out.println(id+":"+name);return "OK";}

代码分析:

基本原理和单个路径大致相同

注意事项:

确保路径中的变量名 {id} 和 {name} 与 @PathVariable 注解中的参数名 id 和 name 保持一致,以确保正确的参数绑定。

结果展示:

五、响应

一般应用的时候为了防止太过混乱,会有一个统一的标准,因为只是认识,所以在这里就不介绍了,想要了解的读者可以去看源代码。里面包含这一部分。

1. 响应-字符串

//9.字符串@RequestMapping("/strParam")public String strParam(){System.out.println("Hello World");return "OK";}
  • System.out.println("Hello World"); 这行代码会在控制台打印输出 "Hello World"。它用于在方法被调用时输出一条消息到控制台,这在调试和跟踪代码执行流程时非常有用。
  • 这种方法适用于需要执行某些逻辑或操作,但不需要返回动态生成的内容或者模板渲染的情况。例如,可以在这里执行一些后台任务、记录日志或者简单的逻辑处理。
  • 如果方法的返回值是 "OK",Spring MVC 将会尝试查找与请求对应的视图或者处理下一个处理程序,具体取决于应用程序的配置和处理链的设置。

2. 响应-数组

//10.数组@RequestMapping("/arrParam")public Address arrParam(){Address address = new Address();address.setProvince("河南");address.setCity("郑州");return address;}
  • Address address = new Address(); 创建了一个 Address 对象,假设这是一个自定义的 Java 类,用来表示地址信息。
  • address.setProvince("河南"); 设置地址对象的省份为 "河南"。
  • address.setCity("郑州"); 设置地址对象的城市为 "郑州"。
  • return address; 返回这个填充了省份和城市信息的 Address 对象。
  • 控制器方法返回的是一个 Address 对象。在 Spring MVC 中,如果方法返回的是一个对象,Spring MVC 会自动将其转换为 JSON 格式(默认情况下),并作为 HTTP 响应体返回给客户端。
  • 这种方法适用于需要从服务器端返回某个 Java 对象的情况,比如获取用户地址信息、商品信息等。客户端可以通过 HTTP GET 请求访问 /arrParam 路径,并获取到 JSON 格式的地址信息。
  • Address 类必须是可序列化的,并且通常需要正确实现 toString()equals() 和 hashCode() 方法,以便在转换为 JSON 格式时能够正确工作。
  • 在实际应用中,可以使用更复杂的对象结构,例如包含多个属性的对象,甚至嵌套对象,Spring MVC 会自动处理这些情况并将其转换为相应的 JSON 格式。

3. 响应-集合

//11.集合@RequestMapping("/listParam")public List<Address> listParam(){List<Address> list = new ArrayList<>();Address address = new Address();address.setProvince("山东");address.setCity("菏泽");Address address1 = new Address();address1.setProvince("陕西");address1.setCity("西安");list.add(address);list.add(address1);return list;}
  • List<Address> list = new ArrayList<>(); 创建了一个 ArrayList 对象 list,用来存储 Address 对象。
  • 创建了两个 Address 对象 address 和 address1,分别代表不同的地址信息。
  • address 的省份设置为 "山东",城市设置为 "菏泽"。
  • address1 的省份设置为 "陕西",城市设置为 "西安"。
  • list.add(address); 将 address 对象添加到 list 列表中。
  • list.add(address1); 将 address1 对象添加到 list 列表中。
  • 控制器方法返回的是一个 List<Address> 对象,即包含两个填充了省份和城市信息的 Address 对象的列表。在 Spring MVC 中,这些对象会被自动转换为 JSON 数组格式,并作为 HTTP 响应体返回给客户端。

六、全套源代码

目录

text1代码

package com.von.demo5;import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.*;
import pojo.Address;
import pojo.user;import java.time.LocalDateTime;
import java.util.Arrays;
import java.util.List;//请求处理类
@RestController
public class text1 {//springboot方式请求//1.简单实体参数@RequestMapping("/simpleParam")public String simpleParam(String name,int age) {System.out.println(name+":"+age);return "OK";}//2.复杂实体参数@RequestMapping("/complacePojo")public String complacePojo(user user){System.out.println(user);return "OK";}//3.数组参数@RequestMapping("/arrayParam")public String arrayParam(String[]hobby){System.out.println(Arrays.toString(hobby));return "OK";}//4.集合传参@RequestMapping("/ListParam")public String ListParam(@RequestParam List<String>hobby){System.out.println(hobby);return "OK";}//5.日期时间传参@RequestMapping("/dateParam")public String dateParam(@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime updateTime){System.out.println(updateTime);return "OK";}//6.Json参数@RequestMapping("/jsonParam")public String jsonParam(@RequestBody user user){System.out.println(user);return "OK";}//7.单个路径参数@RequestMapping("/pathParam/{id}")public String pathParam(@PathVariable int id){System.out.println(id);return "OK";}//8.多个路径参数@RequestMapping("pathParam2/{id}/{name}")public String pathParam2(@PathVariable int id,@PathVariable String name){System.out.println(id+":"+name);return "OK";}
}

text2代码

package com.von.demo5;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import pojo.Address;import java.util.ArrayList;
import java.util.List;
@RestController
public class text2 {//测试响应数据//9.字符串@RequestMapping("/strParam")public String strParam(){System.out.println("Hello World");return "OK";}//10.数组@RequestMapping("/arrParam")public Address arrParam(){Address address = new Address();address.setProvince("河南");address.setCity("郑州");return address;}//11.集合@RequestMapping("/listParam")public List<Address> listParam(){List<Address> list = new ArrayList<>();Address address = new Address();address.setProvince("山东");address.setCity("菏泽");Address address1 = new Address();address1.setProvince("陕西");address1.setCity("西安");list.add(address);list.add(address1);return list;}
}

text3代码

package com.von.demo5;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import pojo.Address;
import pojo.Result;import java.util.ArrayList;
import java.util.List;
@RestController
public class text3 {//使用result规范管理响应数据//9.字符串@RequestMapping("/strParam")public Result strParam(){System.out.println("Hello World");return Result.success("Hello World");}//10.数组@RequestMapping("/arrParam")public Result arrParam(){Address address = new Address();address.setProvince("河南");address.setCity("郑州");return Result.success(address);}//11.集合@RequestMapping("/listParam")public Result listParam(){List<Address> list = new ArrayList<>();Address address = new Address();address.setProvince("山东");address.setCity("菏泽");Address address1 = new Address();address1.setProvince("陕西");address1.setCity("西安");list.add(address);list.add(address1);return Result.success(list);}
}

Address方法

package pojo;public class Address {private String province;private String city;@Overridepublic String toString() {return "Address{" +"province='" + province + '\'' +", city='" + city + '\'' +'}';}public String getProvince() {return province;}public void setProvince(String province) {this.province = province;}public String getCity() {return city;}public void setCity(String city) {this.city = city;}
}

Result方法

package pojo;public class Result {private int code;//1代表成功,0代表失败private String msg;//提示信息private Object data;//数据datapublic Result() {}public Result(int code, String msg, Object data) {this.code = code;this.msg = msg;this.data = data;}public int getCode() {return code;}public void setCode(int code) {this.code = code;}public String getMsg() {return msg;}public void setMsg(String msg) {this.msg = msg;}public Object getData() {return data;}public void setData(Object data) {this.data = data;}public static Result success(Object data) {return new Result(1, "success", data);}public static Result success() {return new Result(1, "success", null);}public static Result error(String msg) {return new Result(0, msg, null);}@Overridepublic String toString() {return "Result{" +"code=" + code +", msg='" + msg + '\'' +", data=" + data +'}';}
}

user方法

package pojo;public class user {private String name;private int age;private Address address;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public Address getAddress() {return address;}public void setAddress(Address address) {this.address = address;}@Overridepublic String toString() {return "user{" +"name='" + name + '\'' +", age=" + age +", address=" + address +'}';}
}

相关文章:

javaweb中的请求与响应--基于postman工具的应用(附带postman的详细安装步骤)

一、前言 后端的第一天感觉难度就上来了&#xff0c;可能是基础太过薄弱了吧。目前看视频已经有点跟不上了&#xff0c;果然15天想要拿下还是太勉强了点。30天还差不多。不知道读者们有没有好好的去学这方面的知识&#xff0c;没有什么是学不会的&#xff0c;关键是坚持。 Po…...

StarRocks下载使用说明和基础操作

简介 StarRocks 是一款高性能分析型数据仓库&#xff0c;使用向量化、MPP 架构、CBO、智能物化视图、可实时更新的列式存储引擎等技术实现多维、实时、高并发的数据分析。StarRocks 既支持从各类实时和离线的数据源高效导入数据&#xff0c;也支持直接分析数据湖上各种格式的数…...

桥接模式案例

桥接模式&#xff08;Bridge Pattern&#xff09;是一种结构型设计模式&#xff0c;它将抽象部分与实现部分分离&#xff0c;使它们可以独立变化。桥接模式通过创 建一个桥接接口&#xff0c;将抽象部分和实现部分连接起来&#xff0c;从而实现两者的解耦。下面是一个详细的桥接…...

Spring源码二十二:Bean实例化流程五

上一篇Spring源码二十一&#xff1a;Bean实例化流程四&#xff0c;咱们主要分析里createBeanInstance方法Spring给我们提供给的FactoryMethod方法&#xff0c;举例说明了factoryMethod属性如何使用&#xff0c;同时简单讨论了具体实现逻辑。 这一篇咱们将进入反射实例化Bean&am…...

Unity3D中UI层级改变详解

在Unity3D开发中&#xff0c;UI层级的调整是常见的需求&#xff0c;它直接关系到用户界面(UI)元素的显示顺序。在Unity的UI系统中&#xff0c;主要使用UGUI&#xff08;Unitys Graphical User Interface&#xff09;来实现界面布局和元素展示。本文将详细讲解Unity3D中如何改变…...

centos安装数据库同步工具sqoop并导入数据,导出数据,添加定时任务

目录 1.安装jdk 1.1上传jdk安装包到/opt目录下并解压 1.2解压 1.3配置环境变量 2.安装hadoop 2.1.下载hadoop 2.2.解压hadoop 2.3配置环境变量 3.安装sqoop 3.1下载 3.2解压 3.3下载依赖包并复制到指定位置 3.3.1下载commons-lang-2.6-bin.tar.gz 3.3.2将mysql-c…...

asp .net core 避免请求body数据量过大

方法1&#xff0c; 全局避免 引入包 dotnet add package Microsoft.AspNetCore.Http.Features using Microsoft.AspNetCore.Http.Features;public void ConfigureServices(IServiceCollection services) {services.Configure<FormOptions>(options >{// 设置允许的最…...

搭建discuz论坛(lvs+nginx+http+mysql+nfs)8台服务器

搭建discuz论坛&#xff08;lvsnginxhttpmysqlnfs&#xff09; 一、IP规划 服务名IP地址服务LVS1192.168.100.110keepalivedipvsadmLVS2192.168.100.111keepalivedipvsadmnginx1192.168.100.113nginxnginx2192.168.100.114nginxnfs192.168.100.116nfs-utilweb1192.168.100.11…...

就业平台小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;学生管理&#xff0c;企业管理&#xff0c;企业类型管理&#xff0c;留言板管理&#xff0c;系统管理 微信端账号功能包括&#xff1a;系统首页&#xff0c;招聘信息&#xff0c;简历&#xff0c;我的 …...

hid-ft260驱动学习笔记 5 - ft260_i2c_probe

目录 1. 保存ft260_device到私有数据 2. 初始化I2C设备分配属性 3. 添加I2C适配器 4. 初始化GPIO 5. ft260_i2c_algo 5.1 ft260_functionality 5.2 ft260_i2c_xfer 5.3 ft260_smbus_xfer 6. ft260_i2c_quirks 这个函数是i2c的接口probe函数。 1. 保存ft260_device到私…...

Android上如何使用perfetto分析systrace

Android上如何使用perfetto分析systrace Perfetto 是一个用于性能分析的工具&#xff0c;提供了对 Android 系统内部工作情况的详细视图。它可以用来替代传统的 systrace 工具&#xff0c;提供更加全面的性能分析功能。以下是如何使用 Perfetto 分析 Systrace 数据的详细指南&…...

React Hooks学习笔记

一、usestate的使用方法-初始化state函数 import React, { useState } from "react"; function App() {const [count, setCount] useState(0);return (<div><p>点击{count}次</p><button onClick{() > setCount(count 1)}>点击</bu…...

BGP第二日

上图为今日所用拓扑 &#xff0c;其中R1和R4&#xff0c;R3和R5为EBGP邻居&#xff0c;R1和R3为IBGP邻居&#xff0c;AS200区域做OSPF动态路由 一.BGP建立邻居的六种状态 1.idle 空闲状态&#xff1a;建立邻居最初的状态 2.Connect 连接状态&#xff1a;在…...

rabbitmq集群创建admin用户之后,提示can access virtual hosts是No access状态

问题描述&#xff1a; 因业务需要使用的rabbitmq是3.7.8版本的&#xff0c;rabbitmq在3.3.0之后就允许使用guest账号的权限了&#xff0c;所以需要创建一个administrator标签的用户。 如下操作创建的用户&#xff1a; 创建完成之后就提示如下的报错&#xff1a; 注&#xff1a…...

ARM功耗管理之多核处理器启动

安全之安全(security)博客目录导读 思考&#xff1a;SecureBoot&#xff1f;多核处理器启动流程&#xff1f;PSCI启动方式&#xff1f; 一般嵌入式系统使用的都是对称多处理器&#xff08;Symmetric Multi-Processor, SMP&#xff09;系统&#xff0c;包含了多个cpu, 这几个cp…...

java使用easypoi模版导出word详细步骤

文章目录 第一步、引入pom依赖第二步、新建导出工具类WordUtil第三步、创建模版word4.编写接口代码5.导出结果示例 第一步、引入pom依赖 <dependency><groupId>cn.afterturn</groupId><artifactId>easypoi-spring-boot-starter</artifactId><…...

Android 内部保持数据的方式

Android内部保持数据的方式主要有五种&#xff0c;每种方式都有其特定的用途和优点。以下是详细的介绍&#xff1a; SQLite数据库 定义&#xff1a;SQLite是一个轻量级的、跨平台的数据库&#xff0c;所有的信息都存储在单一文件内&#xff0c;占用内存小&#xff0c;并且支持…...

uniapp 表格,动态表头表格封装渲染

1.接口表格数据&#xff1a; {"headers": [{"label": "实例名","name": "v1","order": 1,"hide": false,"dateTypeValue": null},{"label": "所属科室","name&quo…...

beyond Compare连接 openWrt 和 VsCode

连接步骤总结 1. 新建会话 -> 文件夹比较 2.点击浏览文件夹 3.在弹出页面 配置 ftp 3.1&#xff09;选中ftp 配置文件 3.2)选中ssh2 3.3)填写我们需要远端连接的主机信息 先点击连接并浏览 得到下方文件夹 弹出无效登录&#xff0c;说明需要密码 我们返回右键刚刚创建的新 …...

量化机器人能否识别市场机会?

量化机器人的设计和应用是为了通过高级算法和大数据分析&#xff0c;精确地识别和把握市场中的交易机会。这些机器人的能力不仅仅局限于执行预定的交易策略&#xff0c;更包括在复杂和快速变化的市场环境中识别利润机会。 首先&#xff0c;量化机器人能够处理和分析大量的市场…...

R语言AI模型部署方案:精准离线运行详解

R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...

python/java环境配置

环境变量放一起 python&#xff1a; 1.首先下载Python Python下载地址&#xff1a;Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个&#xff0c;然后自定义&#xff0c;全选 可以把前4个选上 3.环境配置 1&#xff09;搜高级系统设置 2…...

django filter 统计数量 按属性去重

在Django中&#xff0c;如果你想要根据某个属性对查询集进行去重并统计数量&#xff0c;你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求&#xff1a; 方法1&#xff1a;使用annotate()和Count 假设你有一个模型Item&#xff0c;并且你想…...

《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》

在注意力分散、内容高度同质化的时代&#xff0c;情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现&#xff0c;消费者对内容的“有感”程度&#xff0c;正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中&#xff0…...

【生成模型】视频生成论文调研

工作清单 上游应用方向&#xff1a;控制、速度、时长、高动态、多主体驱动 类型工作基础模型WAN / WAN-VACE / HunyuanVideo控制条件轨迹控制ATI~镜头控制ReCamMaster~多主体驱动Phantom~音频驱动Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation速…...

初探Service服务发现机制

1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能&#xff1a;服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源&#xf…...

Go 并发编程基础:通道(Channel)的使用

在 Go 中&#xff0c;Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式&#xff0c;用于在多个 Goroutine 之间传递数据&#xff0c;从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...

uniapp手机号一键登录保姆级教程(包含前端和后端)

目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号&#xff08;第三种&#xff09;后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...

【Android】Android 开发 ADB 常用指令

查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...

Modbus RTU与Modbus TCP详解指南

目录 1. Modbus协议基础 1.1 什么是Modbus? 1.2 Modbus协议历史 1.3 Modbus协议族 1.4 Modbus通信模型 🎭 主从架构 🔄 请求响应模式 2. Modbus RTU详解 2.1 RTU是什么? 2.2 RTU物理层 🔌 连接方式 ⚡ 通信参数 2.3 RTU数据帧格式 📦 帧结构详解 🔍…...