Spring boot后端返回给前端指定格式的JSON数据

一、前言

        前后端分离的项目中,前端工作人员会要求后端返回指定格式的JSON数据,如果后端人员经验不足,会花费大量时间思考如何封装数据。如果开发思路不佳,可能会带来很多不必要的中间变量造成代码冗长,甚至可能影响到数据库,因此这里提供一种解决方案。

二、流程

1、Api文档

假设前端要求返回如下JSON数据格式

2、后端代码

Controller层

@Api(tags = "BloodBaseController")
@RestController
@RequestMapping("/user/blood-manage")
public class BloodBaseController {

    @Autowired
    BloodBaseServiceImpl bloodBaseService;

    @GetMapping("/query-total-bloodbase")
    @ApiOperation("查询血库信息")
    public Result queryBloodBaseInventory(){
        
        Map<String, Object> hashMap = new HashMap<>();
        List<BloodInventory> bloodInventory = bloodBaseService.queryBloodBaseInventory();
        hashMap.put("bloodInventory", bloodInventory);

        if(bloodInventory == null){
            return Result.fail("查询失败");
        }
        return Result.succ(hashMap);
    }
}

Mapper层

@Mapper
@Repository
public interface BloodBaseMapper {

    //查询血库目前状态
    public List<BloodInventory> queryBloodBaseInventory();

}

 Service层

public interface BloodBaseService {

    //查询血库目前状态
    public List<BloodInventory> queryBloodBaseInventory();

}
​
@Service
public class BloodBaseServiceImpl implements BloodBaseService{

    @Autowired
    BloodBaseMapper bloodBaseMapper;

    //查询血库目前状态
    @Override
    public List<BloodInventory> queryBloodBaseInventory(){ return bloodBaseMapper.queryBloodBaseInventory(); }

}

xml文件

<mapper namespace="com.scau.petsafety.mapper.user.BloodBaseMapper">

    <resultMap id="AllBloodInventory" type="BloodInventory">
        <result property="bid" column="bid"/>
        <result property="bloodType" column="bloodType"/>
        <result property="inventory" column="inventory"/>
        <result property="state" column="state"/>
    </resultMap>

    <select id="queryBloodBaseInventory" resultMap="AllBloodInventory">
        select bid, blood_type bloodType, inventory, state
        from blood_inventory
    </select>

</mapper>

 三、测试

测试结果符合前端格式要求 

  • 8
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值