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

Java后端基础练习|请求参数

请求参数,可以通过四种方式传递到后端

  • 请求路径
  • 查询参数
  • 请求体
  • 请求头

controller代码

package com.urfread.breaknews.core.controller;import com.urfread.breaknews.core.common.model.ResultData;
import lombok.Data;
import org.springframework.web.bind.annotation.*;/*** Class Description: A brief description of the functionality and purpose of this class.** @author urfread* @date 2024-10-08 15:08*/
@RestController
@RequestMapping("/practice")
public class PracticeController {// 路径参数@GetMapping("/path/{username}")public ResultData<String> welcomeWithPathVariable(@PathVariable String username) {return ResultData.success(username);}// 查询参数@GetMapping("/query")public ResultData<User> welcomeWithQueryParameter(User user) {return ResultData.success(user);}// 请求体@PostMapping("/body")public ResultData<User> welcomeWithRequestBody(@RequestBody User user) {return ResultData.success(user);}// 请求头@GetMapping("/header")public ResultData<String> welcomeWithHeader(@RequestHeader("username") String username) {return ResultData.success(username);}
}
@Data
class User {private String username;private String password;private String email;
}

python版测试代码

import requests
import json# 基础URL
base_url = "http://localhost:8080/practice"# 1. Path Variable 请求
def test_path_variable(username):url = f"{base_url}/path/{username}"response = requests.get(url)print("Path Variable Response:", response.text)print()# 2. Query Parameter 请求
def test_query_parameter(username):url = f"{base_url}/query"params = {'username': username}response = requests.get(url, params=params)print("Query Parameter Response:", response.text)print()# 3. Request Body 请求
def test_request_body(username):url = f"{base_url}/body"headers = {'Content-Type': 'application/json'}data = json.dumps({"username": username,"password": "123456","email": "john@example.com"})response = requests.post(url, headers=headers, data=data)print("Request Body Response:", response.text)print()# 4. Request Header 请求
def test_request_header(username):url = f"{base_url}/header"headers = {'username': username}response = requests.get(url, headers=headers)print("Request Header Response:", response.text)print()# 测试所有请求
if __name__ == "__main__":test_username = "Bob"#test_path_variable(test_username)#test_query_parameter(test_username)#test_request_body(test_username)test_request_header(test_username)
http://www.lryc.cn/news/456325.html

相关文章:

  • C# + SQLiteExpert 进行(cipher)加密数据库开发+Costura.Fody 清爽发布
  • MySQL 8.0 新特性之自增变量持久化
  • 网站建设公司哪家好?好的网站建设公司应该有哪些特别之处?
  • 香山南湖架构分析--FE
  • 【Linux的那些事】shell命名及Linux权限的理解
  • Visual Studio 2022 配置 Boost 库
  • 逻辑回归(下): Sigmoid 函数的发展历史
  • 快速理解mQ(三)——RabbitMQ 各种交换机的区别与应用
  • 【五分钟学会】YOLO11 自定义数据集从训练到部署
  • Redis学习(十二)连接数不足报错及分析修复:ERR max number of clients reached.
  • 八股文面试题总结(包含主流的面试经典题)
  • 一分钟掌握 Java22 新特性
  • 西安凭借入驻企业展示科技“硬”实力的数字媒体产业园
  • 【网络安全】利用XSS、OAuth配置错误实现token窃取及账户接管 (ATO)
  • 浙江所有省级医院体检报告查询上线浙里办!
  • 支付宝支付Java+uniapp支付宝小程序
  • Linux-磁盘优化的几个思路
  • 【第三版 系统集成项目管理工程师】第15章 组织保障
  • 从编程视角看生命、爱、自由、生活的排列顺序
  • Lumerical——属性编辑窗口的详解
  • 08实战篇:972应用题(2024)思路解析
  • 解决应用程序启动失败问题:由于找不到d3dx9_43.dll文件,如何快速有效地恢复和修复缺失的DLL组件
  • Ubuntu——双系统Ubuntu22.04系统安装和基础配置
  • stm32定时器中断和外部中断
  • LeetCode 每日一题 2024/9/30-2024/10/6
  • Redis篇(最佳实践)(持续更新迭代)
  • 详细介绍pandas 在python中的用法
  • 八字命理测算系统开发-源码搭建
  • Python批量读取mat文件
  • UE4 材质学习笔记05(凹凸偏移和视差映射/纹理压缩设置)