javaweb篇请求与相应的参数问题

本文介绍了在SpringBoot中如何设置简单传参,get请求和post请求的区别,以及如何解决get请求中参数识别问题。通过注解@RequestParam解决参数命名不一致的问题,还演示了实体参数和使用私有类进行数据传递的方法,以及服务器部署和参数传递的实践示例。
摘要由CSDN通过智能技术生成

目录

目录

前言

简单传参设置

get请求无法识别

post请求

简单传参问题无法识别的解决问题

注意事项

改法

实体参数

代码展示(1)------单个私有类

代码展示(2)----多个私有类

实现服务器的部署以及实参的传递

今日分享



前言

友友们,大家好,今天来开荒了,今天介绍的是在进行数据请求以及相应的时候,我们不仅仅只是进入一个网页而已,也希望看到各种用户反馈的信息以及开发人员给客户传递的信息。因此这里就需要了解我们的数据请求以及响应的方式以及get与post请求的简单差异

简单传参设置

首先声明这里是基于springboat的简单传参,不需要像这篇文章javaweb请求与响应-CSDN博客

需要那么多行代码,主要的体现就是在是否需要对应的参数类型转化,这里springboat就会自动转化;

这里我们可以看到对应的在我们的javaweb方法处理的是username属性,但是在我们设置的接口管理时数据传输的是name,但是结果却是识别不到对应的name,这里相信大家都可以理解。毕竟是两个不同的变量参数嘛,但是程序是不是没有报错,对的这是因为我们这里的age识别到了。同时这里是get请求javaweb请求与响应-CSDN博客,提前说一下后面的post请求与这里数据其实并没有太大的差别,后面大家可以看看具体的怎么实现对应的post请求操作就可以啦;

javaweb请求与响应-CSDN博客这篇文章已经讲述了对应的数据get方式

get请求无法识别

post请求

这里就是post的请求方式,不需要你在网址中输入对应的键值对数据,有直接的输入区域

我们仅仅需要修改对应的请求方式就可以修改成对应的post方式啦;

对于怎么使用这个工具大家可以详细的查看对应的我之前写的文章;基于Apifox实现javaweb的数据响应与请求-CSDN博客

简单传参问题无法识别的解决问题

这里讲述一下注解@RequestParam,它的意义就是把对应的数据进行批注另外的意思,相当于起一个小名;

OK,友友们,大家可以看到这里添加注解后成功识别啦;

注意事项

对于注解@RequestParam

这里我们把name属性取消传递后报错400,客户端错误,因为我们要注意的是针对这种情况对于不是必须要传递的参数我们可以设置默认参数值为false;

改法

就是在它的默认值基础上修改,修改对应的数据默认为false就可以pass这个问题啦

实体参数

我们在进行数据传输的时候可能出现好几个参数,有可能是好几十个,这个时候我们就可以重拾我们的java类与对象啦。只需要在自定义的类里面设置好对应的参数就可以进行对应的数据响应与请求啦;

代码展示(1)------单个私有类

这里正如大家看到的,我们创建了私有的proj类,里面存放了对应的属性,然后我们在重新定轨网址,之后利用对应的tostring方法就可以输出结果了

package user;

public class proj {
    private String name;
    private int age;

    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;
    }

    @Override
    public String toString() {
        return "proj{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}
//    @RestController
@RequestMapping("/proj")
    public String proj(proj proj) {
    System.out.println(proj);
    return "ok";

然后就可以啦输出我们的结果啦

服务器返回的是ok,在服务端进行数据展出

代码展示(2)----多个私有类

这里多个私有类会讲述一下对应的调用情况,并且这里会涉及到对应的设计模式,尤其是对应的单例设计模式;

这里我们接着上面的代码,再次创建一个类,存放2个属性,然后我们利用proj调用

package user;

public class use {
    private String school;
    private int year;

    public String getSchool() {
        return school;
    }

    public void setSchool(String school) {
        this.school = school;
    }

    public int getYear() {
        return year;
    }

    public void setYear(int year) {
        this.year = year;
    }

    @Override
    public String toString() {
        return "use{" +
                "school='" + school + '\'' +
                ", year=" + year +
                '}';
    }
}
package user;

public class proj {
    private String name;
    private int age;
    private use use;

    public user.use getUse() {
        return use;
    }

    public void setUse(user.use use) {
        this.use = use;
    }

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

    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;
    }

}

注意的是这里的代码添加了对于调用use对象的函数,可以直接调用它的属性;

这里在proj中添加了对于use的调用

实现服务器的部署以及实参的传递

这里我们要先运行我们的服务器,然后我们开始把对应的代码写上去,值得注意的一点就是在这里创建的对象去调用对应的另外一个类的属性,比如说你创建的use类,在proj类里面设置了他的单例对象,那么我们就可以在对应的这里用引用来进行参数传递

http://localhost:8080/proj?name=tom&age=10&age=20&use.&use.school=test&use.year=100



今日分享

战双更新啦!!!!!!友友们,强烈推荐大家看剧情,这里免费打一波广告。

我爱说实话,铁铁们!!!不好玩你来找我,我给你补

  • 34
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜鸟小木

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值