当前位置:网站首页>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");
边栏推荐
- Function coritization
- Let the bullets fly for a while
- 2022.02.13 - NC003. Design LRU cache structure
- C语言双指针——经典题型
- 软件卸载时遇到trying to use is on a network resource that is unavailable
- gcc动态库fPIC和fpic编译选项差异介绍
- Use br to back up tidb cluster data to S3 compatible storage
- C语言深度解剖——C语言关键字
- How to conduct interface test? What are the precautions? Nanny level interpretation
- pcd转ply后在meshlab无法打开,提示 Error details: Unespected eof
猜你喜欢
Double pointeur en langage C - - modèle classique
Deep learning: derivation of shallow neural networks and deep neural networks
[MySQL] database stored procedure and storage function clearance tutorial (full version)
生成器参数传入参数
Personalized online cloud database hybrid optimization system | SIGMOD 2022 selected papers interpretation
【MySQL】鎖
[secretly kill little partner pytorch20 days -day01- example of structured data modeling process]
Hungry for 4 years + Ali for 2 years: some conclusions and Thoughts on the road of research and development
【MySQL】日志
Leetcode question brushing (5.28) hash table
随机推荐
Deep analysis of C language data storage in memory
Restore backup data on S3 compatible storage with tidb lightning
2022 Inner Mongolia latest water conservancy and hydropower construction safety officer simulation examination questions and answers
All the ArrayList knowledge you want to know is here
Zhong Xuegao, who cannot be melted, cannot escape the life cycle of online celebrity products
String to leading 0
Migrate data from a tidb cluster to another tidb cluster
sys.argv
Browser thread
JVM 快速入门
Ruffian Heng embedded bimonthly, issue 49
On the inverse order problem of 01 knapsack problem in one-dimensional state
JS pure function
Analysis of pointer and array written test questions
IoT -- 解读物联网四层架构
如何进行接口测试测?有哪些注意事项?保姆级解读
优秀的软件测试人员,都具备这些能力
C language custom type: struct
Image fusion -- challenges, opportunities and Countermeasures
Colorlog结合logging打印有颜色的日志