关于前后端请求,你不知道的事!!!

发布时间:2024年01月18日

对于我这种只有实习经验的小菜鸡,写项目前,很少会主动的去在SQL中使用到索引,即使自己知道加索引对于数据量大时会有好处,但是还是会忘记。今天,我在修改一个bug。该bug就是将使用name字段查询的sql改成使用id查询,并且前端也需要修改。

后端接口:

后端接口需要传入一个json格式的实体类对象,下面是开始使用name字段查询的实体类。

    @ApiModelProperty(value = "开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date startTime;

    @ApiModelProperty(value = "结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")  
    private Date endTime;

    @ApiModelProperty(value = "科室类型")
    private String department;

    @ApiModelProperty(value = "科室对应的医生")
    private String doctor;

?需要修改为使用id字段进行查询,如下实体类

    @ApiModelProperty(value = "开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date startTime;

    @ApiModelProperty(value = "结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") 
    private Date endTime;

    @ApiModelProperty(value = "科室类型")
    private Long departmentId;

 
    @ApiModelProperty(value = "科室对应的医生")
    private Long doctorId;

?然后我重新编写了mapper.xml文件中的sql语句,接着准备使用postman进行测试。因为postman会保留之前的测试样例,所以在postman的json数据中的字段还是保留了使用name请求的。最后点击send,我心里向肯定不会有数据出现的。结果啪啪的打脸了,反而有很多数据。

?

?当时,我就想,那就说明是springboot自动约定好的,和请求参数中的实体类参数不匹配,那么实体类参数的字段值就为默认的。为了验证这一想法,我就进行了debug测试,结果和我预想的一样。

?

好了,我的分享结束了。其实是一个简单的问题,但是往往像我这样的菜鸡容易忽略。大家有什么好办法解决的?除了在业务逻辑层进行判断。

文章来源:https://blog.csdn.net/qq_41536556/article/details/135667459
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。