@GetMapping("/getGoodsByName")
public Result<List<Goods>> getGoodsByName(@RequestParam(required = false) String name) {
return Result.suc(goodsService.getGoodsByName(name), Long.valueOf(goodsService.getGoodsByName(name).size()));
}
List<Goods> getGoodsByName(String name);
@Override
public List<Goods> getGoodsByName(String name){
List<Goods> list = goodsMapper.getGoods(name);
return list;
}
List<Goods> getGoods(@Param("name") String name);
<select id="getGoods" resultMap="BaseResultMap">
select
id,
good_name,
good_code,
storage,
goodstype,
count,
remark,
target_value,
target_value_string,
target_big,
data_status,
brand_code
from goods
where data_status = '0'
<if test="name !=null and name !=''">
and good_name = #{name}
</if>
</select>
@RequestParam(required = false) String name
1、name什么都不输入:http://localhost:8090/goods/getGoodsByName?name=
入参name是name=""
2、required = false,name可以没有:http://localhost:8090/goods/getGoodsByName
入参name 是name=null
1和2都不报错,sql 日志都是:where data_status = '0'
3、name是空格时 http://localhost:8090/goods/getGoodsByName?name=
入参name是name=" " 或者name=" "
不报错,sql日志是: where data_status = '0' and good_name = ' '
4,如果没有required = false,则必须有 /getGoodsByName?name=xxx, 这样 http://localhost:8090/goods/getGoodsByName 是报错的 "Bad Request"
@RequestParam String name 默认 required = true
1、name什么都不输入:http://localhost:8090/goods/getGoodsByName?name=
入参name是name=“”,name是空字符串,字符串的length=0
2、required = false,name可以没有:http://localhost:8090/goods/getGoodsByName
入参name 是name=null
3、name是空格时 http://localhost:8090/goods/getGoodsByName?name=
入参name是 name=一个空格(length=1) 或者name=多个空格(length>1) ,查询结果都一样
4、http://localhost:8090/goods/getGoodsByName?name=测试保存仓库1
入参name=测试保存仓库1