当前位置:网站首页>swagger设置字段required必填
swagger设置字段required必填
2022-07-06 08:31:00 【renkai721】
swagger注解中需要设置请求参数的字段是必须填写的还是非必须的。我们需要添加下面的配置。只需要在对象的字段中增加下面的代码
@ApiModelProperty(value = "自建应用的corpid", required = true)
显示效果如下
详细的代码如下
请求的controller代码
package my.controller;
import my.bean.*;
import my.common.BaseController;
import my.configuration.MyRedissonConfig;
import my.service.*;
import my.util.MsgUtil;
import my.util.MyConstants;
import my.util.WxUtil;
import my.wechataes.WXBizMsgCrypt;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
import javax.annotation.Resource;
import javax.servlet.ServletInputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Map;
@EnableAsync
@RestController
@Api(value = "MyAppController",tags = {"自建应用服务"})
@RequestMapping("/myApp")
@Slf4j
public class MyAppController extends BaseController {
@Autowired
private MyAppService myAppService;
@ApiOperation(value = "自建应用-推送图文消息给用户",
notes = "逻辑如下:"+ MyConstants.SWAGGER2_FOX_BR_TAG +
MyConstants.SWAGGER2_FOX_BR_TAG)
@RequestMapping(value = "/sendNews", method = RequestMethod.POST)
@ResponseBody
public String sendNews(@Validated @RequestBody MyAppSendNewsReqBean vo) {
String code = MyConstants.SUCCESS;
try {
log.info("myApp sendNews vo={}",vo);
myAppService.sendNews(vo);
} catch (Exception e) {
code = MyConstants.FAILURE;
e.printStackTrace();
}
return MsgUtil.outJson(code);
}
}
请求参数对象
package my.bean;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import lombok.extern.slf4j.Slf4j;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
@ApiModel(
description = "图文消息对象"
)
@Data
@Slf4j
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public class MyAppSendNewsReqBean implements Serializable {
@ApiModelProperty(value = "企微自建应用,接收消息的用户ID,多个接收者用‘|’分隔,最多支持1000个)。@all=全员发送", required = true)
@NotNull(message = "userId不能为空")
private String userId;
@ApiModelProperty(value = "自建应用的corpid", required = true)
@NotNull(message = "corpid不能为空")
private String corpid;
@ApiModelProperty(value = "自建应用的corpsecret", required = true)
@NotNull(message = "corpsecret不能为空")
private String corpsecret;
@ApiModelProperty(value = "自建应用的agentId", required = true)
@NotNull(message = "agentId不能为空")
private Integer agentId;
@ApiModelProperty(value = "图文消息的标题", required = true)
@NotNull(message = "title不能为空")
private String title;
@ApiModelProperty(value = "图文消息的描述")
private String description;
@ApiModelProperty(value = "点击图片跳转的网址,网址必须是备案的网址,否则会有风险提示")
private String url;
@ApiModelProperty(value = "图片地址", required = true)
@NotNull(message = "picUrl不能为空")
private String picUrl;
}
启动项目,访问swagger,访问地址如下
log.info("swagger api=http://ip:port/项目名称/swagger-ui.html");
log.info("swagger api=http://ip:port/项目名称/doc.html");
边栏推荐
猜你喜欢
Zhong Xuegao, who cannot be melted, cannot escape the life cycle of online celebrity products
[cloud native] teach you how to build ferry open source work order system
延迟初始化和密封类
Wincc7.5 download and installation tutorial (win10 system)
Personalized online cloud database hybrid optimization system | SIGMOD 2022 selected papers interpretation
sublime text中conda环境中plt.show无法弹出显示图片的问题
FairGuard游戏加固:游戏出海热潮下,游戏安全面临新挑战
Sort according to a number in a string in a column of CSV file
【MySQL】鎖
Analysis of pointer and array written test questions
随机推荐
What is CSRF (Cross Site Request Forgery)?
Restore backup data on S3 compatible storage with tidb lightning
Rviz仿真时遇到机器人瞬间回到世界坐标原点的问题及可能原因
Double pointeur en langage C - - modèle classique
深度剖析C语言数据在内存中的存储
sublime text中conda环境中plt.show无法弹出显示图片的问题
[luatos-air551g] 6.2 repair: restart caused by line drawing
电脑清理,删除的系统文件
Hungry for 4 years + Ali for 2 years: some conclusions and Thoughts on the road of research and development
China polyether amine Market Forecast and investment strategy report (2022 Edition)
Summary of MySQL index failure scenarios
Upgrade tidb with tiup
ROS编译 调用第三方动态库(xxx.so)
All the ArrayList knowledge you want to know is here
The resources of underground pipe holes are tight, and the air blowing micro cable is not fragrant?
Let the bullets fly for a while
角色动画(Character Animation)的现状与趋势
IoT -- 解读物联网四层架构
Huawei cloud OBS file upload and download tool class
Migrate data from a tidb cluster to another tidb cluster