第三次作业:springweb与postman练习

创建web项目时要确保主类

SpringbootWebProjectApplication类

与可扫描到的controller处于同一级目录下

例如:

编写hello类之后在主类中执行

运行结果:

简单参数示例:

package edu.wust.controller;

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

@RestController
public class Param {
    @RequestMapping("simpleParam")
    public String simpleParam(String name , Integer age){
        System.out.println(name+"  :  "+age);
        return "OK";
    }
}

运行application,在postman中设置相关参数

运行结果如下:

实体参数示例:


这里创建一个cls包用于存储一些普通类

User类(由于是私有变量,这里需要单独写出get set方法):

package edu.wust.controller.cls;

import org.springframework.boot.SpringApplication;

public class User {
    private String name;
    private Integer age;
    private Address address;

    public String getName() {
        return name;
    }

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

    public Integer getAge() {
        return age;
    }

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

    public Address getAddress() {
        return address;
    }

    public void setAddress(Address address) {
        this.address = address;
    }
}

Address类:

package edu.wust.controller.cls;

public class Address {
    private String city;
    private String province;
}

编写Pojo类用于在web端呈现输出结果:

package edu.wust.controller;
import edu.wust.controller.cls.User;


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

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

在postman中的运行结果:

数组集合参数:

数组:

   @RequestMapping("/arrayParam")
    public String arrayParam(String[] hobby){
        System.out.println(Arrays.toString(hobby));
        return "ok";
    }
    @RequestMapping("/listParam")
    public String listParam(@RequestParam List<String> hobby){
        Systme.out.println(hobby);
        return "ok";
    }

运行结果:

这里的 List列表中存储的是String类型的变量,需要指定泛型,并且需要@RequestParam注解将多个请求参数值封装到列表中

日期参数: 

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

日期输入一定要严格按照pattern格式输入

JSON参数: 

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

运行结果:

JSON的请求方式一定为post,在postman中运行时需要调整body-raw-JSON,填写JSON格式的请求参数

这里使用了一个ResqustBody注解将json格式封装到User的实体类中,键名需要与属性名保持一致

路径参数(参数成为url的一部分): 

    @RequestMapping("/path/{id}/{name}")
    public String pathParam(@PathVariable Integer id,@PathVariable String name){
        System.out.println(id+" "+name);
        return "ok";
    }
每一个参数都需要用@PathParam来封装
  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值