SpringBoot常用标签

本文详细解读了SpringMVC中的@Controller、@RestController、@ResponseBody,以及如何通过@Autowired降低组件间耦合,还介绍了@RequestBody和@RequestParam在接收前端数据的不同场景应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

@RestController @Controller

@RestController = @Controller + @ResponseBody

@ResponseBody 响应数据,作用是将方法返回值直接响应,如果返回值类型是实体对象/集合,将会转换为JSON格式响应;

@Conroller 在这里涉及到三层架构的一些东西;

三层架构分为:数据访问(Dao),逻辑处理(Service),接收请求,响应数据(Controller)

使用@Controller 结合@Autowired 可以直接调用调用Service 层也就是逻辑处理的类,降低耦合(耦合:衡量软件中各层/模块之间的依赖、关联程度。)

而我们在码代码的时候,追求的是高内聚低耦合(内聚:软件各个功能模块内部的功能联系)

@RequestBody  @RequestParam

两者都是用来接收前端发来的数据,JSON格式的数据就需要@RequestBody 来接收(JSON参数:JSON数据键名与形参对象属性名相同,定义Pojo类型形参即可接收,需要使用@RequestBody标识),但是@RequestBody 只能接收一个,如果有多个那么就得使用@RequestParam。

数组参数和集合参数:

数组参数:请求参数名与形参数组名称相同且请求数为多个,定义数组类型形参即可接收参数。

集合参数:请求参数名与形参集合名称相同且请求参数为多个,@RequestParam绑定参数关系。

如下,批量删除,就需要使用@RequestParam 来接收。

    /**
     * 批量删除套餐
     * @param ids
     * @return
     */
    @DeleteMapping
    @ApiOperation("批量删除套餐")
    //什么时候使用@ReqBody,什么用@RequParam
    public Result delete(@RequestParam List<Long> ids){
        setmealService.deleteBatch(ids);
        return Result.success();
    }

 如下,前端就传来一个JSON格式的数据,我们只需要加上@RequestBody 就行了。

    /**
     * 新增套餐
     * @param setmealDTO
     * @return
     */
    @PostMapping
    @ApiOperation("新增套餐")
    public Result save(@RequestBody SetmealDTO setmealDTO){
        setmealService.saveWithDish(setmealDTO);
        return Result.success();
    }

@PathVariable

路径参数:通过请求URl直接传递参数,使用{...}来标识路径参数,需要使用@PathVariable 获取路径参数。

    /**
     * 根据id查询套餐,用于修改页面回显数据
     * @param id
     * @return
     */
    @GetMapping("/{id}")
    @ApiOperation("根据id查询套餐")
    public Result<SetmealVO> getById(@PathVariable Long id){
        SetmealVO setmealVO = setmealService.getByIdWithDish(id);
        return Result.success(setmealVO);
    }

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值