Web请求与响应

这篇具有很好参考价值的文章主要介绍了Web请求与响应。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

Postman的使用 

请求

简单参数 

 实体参数

 数组参数

 集合参数

 日期参数

Json参数

路径参数 

 响应

@ResponseBody 

统一响应结果


Postman的使用 

postman是一款功能强大的网页调试与发送网页http请求的Chrome插件,常用于进行接口测试。

先创建用户 

Web请求与响应,Web,postman,测试工具

 之后通过刚刚创建的用户登录

创建工作空间

Web请求与响应,Web,postman,测试工具

 Web请求与响应,Web,postman,测试工具

Web请求与响应,Web,postman,测试工具

 创建完成后他会自动进入到springbootweb工作空间

点击+添加新请求

Web请求与响应,Web,postman,测试工具

请求

 pom.xml文件如下

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.4</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.he1220</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>demo</name>
    <description>Demo project for Spring Boot</description>
    <properties>
        <java.version>11</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

简单参数 

以原始的方式接收请求参数 

 目录结构如下

Web请求与响应,Web,postman,测试工具

RequestController.java文件内容如下

package com.he1220.demo.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.HttpServletRequest;

@RestController
public class RequestController {
    @RequestMapping("/simpleParam")
    public String simpleParam(HttpServletRequest request){
        String name = request.getParameter("name");
        String age = request.getParameter("age");
        System.out.println(name);
        System.out.println(age);
        return "ok";
    }
}

测试结果如下

Web请求与响应,Web,postman,测试工具

Web请求与响应,Web,postman,测试工具

 以SpringBoot的方式接收请求参数

@RestController
public class RequestController {
    @RequestMapping("/simpleParam")
    public String simpleParam(String name,Integer age){
        System.out.println(name);
        System.out.println(age);
        return "ok";
    }
}

如果方法形参名称与请求参数名称不匹配,可以通过@RequestParam注解完成映射

通过name属性指定请求参数名

@RequestParam中的Required属性默认为true,该请求参数必须传递,不传递将报错(400)。可以设置为false

@RestController
public class RequestController {
    @RequestMapping("/simpleParam")
    public String simpleParam(@RequestParam(name="name")String username,Integer age){
        System.out.println(username);
        System.out.println(age);
        return "ok";
    }
}

Web请求与响应,Web,postman,测试工具

 实体参数

需要保证请求参数名与形参对象属性名一致

 目录结构如下

Web请求与响应,Web,postman,测试工具

RequestController.java

@RestController
public class RequestController {
    @RequestMapping("/Pojo")
    public String Pojo(User user){
        System.out.println(user);
        return "ok~";
    }
}

User.java

package com.he1220.demo.pojo;

public class User{
    private String name;
    private String age;
    private Add add;
    public User(String name, String age) {
        this.name = name;
        this.age = age;
    }

    public Add getAdd() {
        return add;
    }

    public String getName() {
        return name;
    }

    public String getAge() {
        return age;
    }

    public void setAge(String age) {
        this.age = age;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setAdd(Add add) {
        this.add = add;
    }

    @Override
    public String toString() {
        return "User{" +
                "name='" + name + '\'' +
                ", age='" + age + '\'' +
                ", add=" + add +
                '}';
    }
}

 Add.java

package com.he1220.demo.pojo;

public class Add {
    private String province;
    private String 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;
    }

    @Override
    public String toString() {
        return "Add{" +
                "province='" + province + '\'' +
                ", city='" + city + '\'' +
                '}';
    }
}

测试结果如下

Web请求与响应,Web,postman,测试工具

Web请求与响应,Web,postman,测试工具

 数组参数

 RequestController.java

@RestController
public class RequestController {
    @RequestMapping("/arrParam")
    public String arrParam(String[] hobby){
        System.out.println(Arrays.toString(hobby));
        return "ok~";
    }
}

测试结果如下

Web请求与响应,Web,postman,测试工具

 Web请求与响应,Web,postman,测试工具

 集合参数

需要保证请求的参数名与集合变量名相同,通过@RequestParam注解绑定参数关系

 RequestController.java

@RestController
public class RequestController {
    @RequestMapping("/listParam")
    public String listParam(@RequestParam List<String> hobby){
        System.out.println(hobby);
        return "ok~";
    }
}

Web请求与响应,Web,postman,测试工具

 日期参数

使用@DateTimeFormat 注解完成日期参数格式转换 

@RestController
public class RequestController {
    @RequestMapping("/dateParam")
    public String dateParam(@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime updateTime){
        System.out.println(updateTime);
        return "ok~";
    }

Web请求与响应,Web,postman,测试工具

Json参数

通过@RequestBody注解将Json对象封装到实体类当中 

@RestController
public class RequestController {
    @RequestMapping("/jsonParam")
    public String jsonParam(@RequestBody User user){
        System.out.println(user);
        return "ok~";
    }
}

Web请求与响应,Web,postman,测试工具

路径参数 

 通过请求URL直接传递参数,使用{...}来标识该参数路径,需要使用@PathVariable获取参数路径

@RestController
public class RequestController {
    @RequestMapping("/path/{id}/{name}")
    public String pathParam(@PathVariable Integer id,@PathVariable String name){
        System.out.println(id + name);
        return "ok~";
    }
}

Web请求与响应,Web,postman,测试工具

 响应

@ResponseBody 

放在Controller方法上/类上

将方法返回值直接响应,如果返回值类型是实体对象/集合,将会转换为JSON格式响应

@RestController = @Controller + @ResponseBody

统一响应结果

目录结构如下

Web请求与响应,Web,postman,测试工具

 pojo.Result.java

package com.he1220.demo.pojo;

/**
 * 统一响应结果封装类
 */
public class Result {
    private Integer code ;//1 成功 , 0 失败
    private String msg; //提示信息
    private Object data; //数据 data

    public Result() {
    }
    public Result(Integer code, String msg, Object data) {
        this.code = code;
        this.msg = msg;
        this.data = data;
    }
    public Integer getCode() {
        return code;
    }
    public void setCode(Integer 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);
    }

    @Override
    public String toString() {
        return "Result{" +
                "code=" + code +
                ", msg='" + msg + '\'' +
                ", data=" + data +
                '}';
    }
}

 RequestController.class内容如下  

@RestController
public class RequestController {
    @RequestMapping("/getAddr")
    public Result getAddr(String province, String city){
        System.out.println(province);
        System.out.println(city);
        Add addr = new Add();
        addr.setProvince(province);
        addr.setCity(city);
        return Result.success(addr);
    }
}

测试结果如下

Web请求与响应,Web,postman,测试工具文章来源地址https://www.toymoban.com/news/detail-761903.html

到了这里,关于Web请求与响应的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 接口测试工具(Postman)

    一、接口定义 软件不同部分之间的交互接口。通常就是所谓的API――应用程序编程接口,其表现的形式是源代码。 —— [ 百度百科 ] 我们常说的接口一般指两种:  (1)API:应用程序编程接口。程序间的接口  (2)GUI:图形用户界面。人与程序的接口  这里我们所说的接口

    2024年04月14日
    浏览(41)
  • Postman-接口测试工具

    1.Postman 是什么 Postman 是一款功能超级强大的用于发送 HTTP 请求的 测试工具 做 WEB 页面开发和测试的人员常用工具 创建和发送任何的 HTTP 请求(Get/Post/Put/Delete…) 2.Postman 相关资源 1.官方网站 https://www.postman.com/ 2.文档 https://learning.postman.com/docs/getting-started/introduction/ 3.Postman 安装

    2024年02月08日
    浏览(48)
  • 接口测试工具:Postman详解

    🍅 视频学习: 文末有免费的配套视频可观看 🍅  关注公众号【互联网杂货铺】,回复 1  ,免费获取软件测试全套资料,资料在手,涨薪更快 Postman 是一款功能强大的 API 开发和测试工具,以下是一些高级用法的详细介绍和操作步骤。 环境变量允许你设置特定于环境(如开

    2024年04月09日
    浏览(45)
  • 测试工具篇:postman技巧

    在日常开发中我们经常以两种情景: 因为接口部署在不同的环境(一般至少是三个,开发,测试和线上),所以我们在测试接口时需要来回切换它的url,或是同样的接口要分成至少三份 有些b端项目中对于 token 的时效性要求比较苛刻,我现在做的这个项目token的有效时间只有

    2024年02月19日
    浏览(36)
  • 开发工具-网络测试工具 POSTMAN 的脚本使用

    POSTMAN 是网络编程中最常用的接口测试工具之一,能够使用脚本进行连续的自动测试。这里是以本地应用版为基础环境。 参考资料: Postman接口自动化测试 postman 可以在发送请求前使用脚本进行预处理,收到响应后使用脚本进行测试。 脚本的一些测试过程可以使用类似浏览器

    2024年02月13日
    浏览(40)
  • 接口测试工具——Postman使用详解

    目录 Postman简介 Postman主界面 菜单栏 工具栏 请求管理区 环境管理区 请求设计区 发送请求 发送GET请求 Postman发送GET请求 发送表单格式POST请求 发送JSON格式POST请求 发送XML格式POST请求 发送文件上传类型的请求 响应 环境和变量 环境变量设置 环境变量使用 全局变量 测试脚本及

    2024年02月08日
    浏览(44)
  • 接口测试工具:Postman的使用

    在前后端分离开发时,后端工作人员完成系统接口开发后,需要与前端人员对接,测试调试接口,验证接口的正确性可用性。而这要求前端开发进度和后端进度保持基本一致,任何一方的进度跟不上,都无法及时完成功能模块的测试。 做为后端开发人员,要求独立开发完成某

    2024年02月02日
    浏览(50)
  • Postman(接口测试工具)使用教程

    😀前言 本片文章是Postman(接口测试工具)使用教程 🏠个人主页:[尘觉主页](https://blog.csdn.net/apple_67445472?type=blog) 🧑个人简介:大家好,我是尘觉,希望我的文章可以帮助到大家,您的满意是我的动力😉😉 在csdn获奖荣誉: 🏆csdn城市之星2名 ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣

    2024年02月06日
    浏览(94)
  • 数据接口测试工具 Postman 介绍!

    此文介绍好用的数据接口测试工具 Postman,能帮助您方便、快速、统一地管理项目中使用以及测试的数据接口。 1. Postman 简介 Postman 一款非常流行的 API 调试工具。其实,开发人员用的更多。因为测试人员做接口测试会有更多选择,例如 Jmeter、soapUI 等。 不过,对于开发过程中

    2024年02月04日
    浏览(44)
  • 接口测试工具:Postman的高级用法!

    Postman 是一款功能强大的 API 开发和测试工具,以下是一些高级用法的详细介绍和操作步骤。 一. 环境和全局变量 环境变量允许你设置特定于环境(如开发、测试、生产)的变量,全局变量则在所有环境中都能访问。 操作步骤: 1. 转到左侧的侧边栏,点击\\\"Environments\\\"。 2. 点击

    2024年02月03日
    浏览(66)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包