controller接收的三种和注解有关的参数

本文介绍了如何使用Spring Boot处理前端POST请求,验证评论信息并调用业务逻辑层进行保存,同时通过Mapper接口查询与问题ID相关的回答。涉及的技术包括@Validated注解验证和数据库操作。

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

@PostMapping("/{id}/updata")
public R<Comment> postComment(
        @Validated CommentVo commentVo, BindingResult result,//这是前端传来的参数包装类
        @AuthenticationPrincipal UserDetails user,
         @PathVariable Integer id){                                   //这里ID就是"/{id}/updata")
    log.debug("收到的评论信息:{}",commentVo);
    if(result.hasErrors()){
        String msg=result.getFieldError().getDefaultMessage();
        return R.unproecsableEntity(msg);
    }
    //调用业务逻辑层代码
    Comment comment=commentService.saveComment(
            commentVo,user.getUsername());
    return R.created(comment);

}

 

下面这个是XXXMapper中的注解:(@Param("sql中的变量“) Interger id)

@Repository
public interface AnswerMapper extends BaseMapper<Answer> {

    //根据问题id查询所有回答,回答中包含这个回答的所有评论
    List<Answer> findAnswersWithCommentByQuestionId(
                                            Integer questionId);

    //修改当前回答的采纳状态的方法
    @Update("update answer set accept_status=#{acceptStatus}" +
            " where id=#{answerId}")
    int updateAcceptStatus(@Param("answerId") Integer answerId,
                         @Param("acceptStatus") Integer acceptStatus);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值