@Controller和@RestController: RestController = @ResponseBody + @Controller  所有返回都是json类型,无法跳转到jsp页面,但是不用在每个方法前加@ReaponseBody

 @ApiOperation 说明:
  value:函数说明

  notes:函数用途

  response:返回值类型
@RequestMapping(value = "/v1/apis", method = RequestMethod.POST)
value:访问路径
method:请求方式
@Validated:配合pojo类中的注解使用@NotBlank,用与校验属性的空值,后面必须加 BindingResult bindingResult
Insert.class:表示插入时校验
@RequestBody 将json 转成对象
@ApiParam(value = "Created api object", required = true)
value:参数说明
required:参数是否能为空
  @ApiOperation(value = "创建api", notes = "根据ApisRequestVo请求对象创建api", response = RequestResult.class)
@RequestMapping(value = "/v1/apis", method = RequestMethod.POST)
@ResponseBody
public ModelAndView createApi(
@Validated({Insert.class}) @RequestBody @ApiParam(value = "Created api object",
required = true) ApisRequestVo vo,
BindingResult bindingResult) {
LOGGER.debug("create api ");
RequestResult result = null;
/*
* Map<String, List<String>> errorMsg = parseErrorMsg(bindingResult);
*
* if (errorMsg != null) { result = new RequestResult(); result.setErrorMsg(errorMsg); return
* createModelAndView(result); }
*/
vo.setId(StringUtils.EMPTY);
result = new RequestResult(apiService.createApiService(vo));
return createModelAndView(result);
}
@PathVariable(value = "id", required = true) String id)
用来接收restful请求方式的参数
 @ApiOperation(value = "删除api", notes = "根据id删除 api", response = RequestResult.class)
@RequestMapping(value = "/v1/apis/{id}", method = RequestMethod.DELETE)
public ModelAndView deleteApiById(@ApiParam(value = "api Id",
required = true) @PathVariable(value = "id", required = true) String id) {
RequestResult result = new RequestResult(apiService.deleteApi(id));
return createModelAndView(result);
}
 @NotBlank(message = "apiId不能为空", groups = { Insert.class, Update.class })
校验参数.配合@Validated使用
@ApiModelProperty(required = true, value = "apiId", dataType = "String"

required:是否可以为空
value:属性说明
dataType:属性类型
public class ApisConfig implements Serializable{

    private static final long serialVersionUID = 1L;

    @NotBlank(message = "apiId不能为空", groups = { Insert.class, Update.class })
@ApiModelProperty(required = true, value = "apiId", dataType = "String")
private String apiId;

spring mvc 注解整理(一)的更多相关文章

  1. Spring MVC注解的一些案列

    1.  spring MVC-annotation(注解)的配置文件ApplicationContext.xml <?xml version="1.0" encoding=& ...

  2. spring mvc(注解)上传文件的简单例子

    spring mvc(注解)上传文件的简单例子,这有几个需要注意的地方1.form的enctype=”multipart/form-data” 这个是上传文件必须的2.applicationConte ...

  3. spring mvc 注解入门示例

    web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi=" ...

  4. spring mvc 注解示例

    springmvc.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=" ...

  5. 关于Spring mvc注解中的定时任务的配置

    关于spring mvc注解定时任务配置 简单的记载:避免自己忘记,不是很确定我理解的是否正确.有错误地方望请大家指出. 1,定时方法执行配置: (1)在applicationContext.xml中 ...

  6. spring mvc 注解@Controller @RequestMapping @Resource的详细例子

    现在主流的Web MVC框架除了Struts这个主力 外,其次就是Spring MVC了,因此这也是作为一名程序员需要掌握的主流框架,框架选择多了,应对多变的需求和业务时,可实行的方案自然就多了.不过 ...

  7. Spring MVC 注解[转]

    [学习笔记]基于注解的spring3.0.x MVC学习笔记(九) 摘要: 本章节,仅为@SessionAttributes的功能扩展介绍介绍,结合@requestparam注解进行简易无数据库分页. ...

  8. spring mvc 注解 学习笔记(一)

    以前接触过spring,但是没有接触spring mvc 以及注解的应用,特习之,记之: 注解了解 @Component 是通用标注, @Controller 标注web控制器, @Service 标 ...

  9. junit4测试 Spring MVC注解方式

    本人使用的为junit4进行测试 spring-servlet.xml中使用的为注解扫描的方式 <?xml version="1.0" encoding="UTF- ...

随机推荐

  1. vsto-Word相关操作

    //添加页码到页脚 Document doc = Globals.ThisAddIn.Application.ActiveDocument; HeaderFooter hprimary= doc.Se ...

  2. Centos7 多网卡抓包可以抓到UDP但程序recvfrom不到

    问题: Centos7多网卡,抓包时发现某网卡上有UDP包,但是用程序recvfrom无法接收到消息. 解决步骤: 1.确认防火墙是否关闭: 已关闭 2.确认网卡是否开启过滤:cat /proc/sy ...

  3. python全栈开发笔记---------字符串格式化

    字符串格式化 %s 可以接收任何值, %d只能接收整形 .其他类型报错 msg ='i am %s my body' %'ales' print(msg) #i am ales my body msg ...

  4. Linux SSH登录很慢的解决方法

    一:UseDNS OpenSSH在用户登录的时候会验证IP,它根据用户的IP使用反向DNS找到主机名,再使用DNS找到IP地址,最后匹配一下登录的IP是否合法.如果客户机的IP没有域名,或者DNS服务 ...

  5. tomcat的LifecycleException异常

    异常:start: org.apache.catalina.LifecycleException: tomcat版本:8 解决:将tomcat的版本换成tomcat6,问题解决了

  6. HTML5:定位

    定位 一.介绍: position设置块级元素相对于其父块的位置和相对于它自身应该在的位置,任何使用定位的元素都会成为块级元素. 1.属性值 属性值 描述 absolute 生成绝对定位的元素,相对于 ...

  7. JAVA学习笔记系列4-Eclipse版本选择

    下载Eclipse需要根据安装的JDK的版本来决定是安装32位还是64位,不是根据操作系统选的.

  8. ubuntu 部署 wiki.js

    1. 安装node  (还是官网的东西靠谱,虽然是english)  https://github.com/nodesource/distributions/blob/master/README.md ...

  9. L2-016. 愿天下有情人都是失散多年的兄妹(深搜)*

    L2-016. 愿天下有情人都是失散多年的兄妹 参考博客 #include<iostream> #include<cstdio> #include<cstring> ...

  10. ecmall 后台添加新菜单

    所谓的开发新菜单,其实是和开发模块相对比的,之前说的开发模块,是在应对较大的,或者较为复杂,又相对独立于其他功能的项目需求. 而开发菜单,就是简单的在后台增加一个一级菜单以及其子菜单,或者直接在现有的 ...