测试积点老人 发表于 2021-12-1 09:37:03

swagger的@ApiImplicitParam注解和方法里的参数@RequestParam(required = false) S...

swagger的@ApiImplicitParam注解和方法里的参数@RequestParam(required = false) String subject有什么不同呀swagger的@ApiImplicitParam注解和方法里的参数@RequestParam(required= false) String subject有什么不同呀?
我在postMan里面只写@ApiImplicitParam,不写方法里面的@RequestParam(required= false) String subject, 也能通过,不过,上传 到服务器之后,不写 @RequestParam(required= false) String subject, 这个,就不能通过,是为什么呢?因为原因哈?。。

/**
   * 确认下单支付
   * */
    @ApiOperation(value = "确认下单支付")
    @ResponseBody
    @PostMapping(value = "/confirm" , produces = {"text/html;charset=UTF-8"})
    @ApiImplicitParam(name = "subject", value = "商品名")
    public Object pay (@RequestParam(required = false) PaymentBO bo,
                     @RequestParam(required = false) String subject,
                     HttpServletRequest request ) throws Exception {
      //这个接口其实应该是post方式的,但是我这里图方便,直接以get方式访问,
      //且返回格式是text/html,这样前端页面就能直接显示支付宝返回的html片段
      //真实场景下由post方式请求,不应该返回html,应该返回code、msg、data那种格式的标准结构,让前端拿到data里的
      //html片段之后自行加载
//      String subject = request.getParameter("subject").trim();      //名称
      bo = new PaymentBO();
      bo.setSubject(subject);
      Object payCode = payService.pay(bo);
      return payCode;
    }



海海豚 发表于 2021-12-2 09:49:12

有报错吗

jingzizx 发表于 2021-12-2 17:50:44

看文档+调试
页: [1]
查看完整版本: swagger的@ApiImplicitParam注解和方法里的参数@RequestParam(required = false) S...