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

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.kler.cn/news/339670.html

相关文章:

  • QT 通过鼠标事件实现图片的拖动和缩放
  • imu的深度学习方案
  • 请描述一下数据库的负载测试和压力测试。请简要描述不同类型的联接(如内联接、左外联接、右外联接、全外联接等)。
  • PHP input 多文件上传功能实现-网页不为人知的数据库缺陷——未来之窗行业应用跨平台架构
  • vue项目刷新后h5样式失效
  • ArrayList 和 Vector,HashMap 和 Hashtable的区别
  • 2024年(第7届)“泰迪杯”数据分析技能赛通知
  • 前端vue中div设置background图片铺满div
  • LeetCode 算法:多数元素 c++
  • sqli-labs靶场less-6使用updatexml函数报错注入
  • 64.DDR3读写控制器的设计与验证(1)(MIG IP核的配置)
  • AI知识库如何提升服装电商的运营效率
  • 期权懂|期权杠杆在期权市场中有什么作用?
  • C#中的Udp已经TCP 客户端发送/接收
  • static关键字与类的静态成员
  • 基于LORA的一主多从监测系统_AHT20温湿度传感器
  • 循环神经网络-RNN
  • 基于Dify的工作流简单测试
  • 十一假期不停歇-学习ROS第二天
  • 微知-如何查看Bluefield DPU安装的BFB镜像版本?如何查看DPU中OS的版本?内核版本等信息?(cat /etc/mlnx-release)