微服务架构实战篇(二):Spring boot2.0 + Swagger2 API可视化

.termsOfServiceUrl("http://swagger.io/")@RequestMapping("/")@RequestMapping("/userInfo")
@RestController
public class UserInfoController {
@ApiOperation(value = "登录接口-多值传值方式", notes = "输入用户名和密码登录")


@ApiResponses(value = {
@ApiResponse(code = 200, message = "OK", response = UserInfo.class, responseContainer = "userInfo"),
@ApiResponse(code = 405, message = "账号名或密码错误")
})
@ApiImplicitParam(name = "map", value = "{"userName":"JackMa","passWord":"123"}")
@RequestMapping(value = "loginForMap", method = RequestMethod.POST, produces= MediaType.APPLICATION_JSON_UTF8_VALUE)
ResponseEntity loginForMap(@RequestBody Map map) {
if (!map.get("userName").equalsIgnoreCase("JackMa") || !map.get("passWord").equalsIgnoreCase("123")) {
return ResponseEntity.status(HttpStatus.METHOD_NOT_ALLOWED).build();
}
UserInfo user = new UserInfo();
user.setId(1L);
user.setUserName("JackMa");
user.setFirstName("马");
user.setLastName("云");
user.setEmail("[email protected]");
user.setUserStatus(1);
return ResponseEntity.ok(user);
}
@ApiOperation(value = "登录接口-多值传输方式", notes = "输入用户名和密码登录")
@ApiResponses(value = {
@ApiResponse(code = 200, message = "OK", response = UserInfo.class, responseContainer = "userInfo"),
@ApiResponse(code = 405, message = "账号名或密码错误")
})
@ApiImplicitParams({
@ApiImplicitParam(name = "userName",value = "用户名", required = true, dataType = "string", paramType = "query"),
@ApiImplicitParam(name = "passWord",value = "密码", required = true, dataType = "string",paramType = "query"),
})
@RequestMapping(value = "loginForParams", method = RequestMethod.POST, produces= MediaType.APPLICATION_JSON_UTF8_VALUE)
ResponseEntity loginForMap(@RequestParam String userName, @RequestParam String passWord) {
if (!userName.equalsIgnoreCase("JackMa") || !passWord.equalsIgnoreCase("123")) {
return ResponseEntity.status(HttpStatus.METHOD_NOT_ALLOWED).build();
}
UserInfo user = new UserInfo();
user.setId(1L);
user.setUserName("JackMa");
user.setFirstName("马");
user.setLastName("云");
user.setEmail("[email protected]");
user.setUserStatus(1);
return ResponseEntity.ok(user);
}
}

备注

  • 使用Params和Param 实现了两种不同的数据传输方式
  • 建议使用Spring的 ResponseEntity 类做统一的返回结果
  • swagger 对 response code 的支持还算好,我们可以把可能出现的异常代码都一一罗列出来,方便对接的时候对异常的处理

第八步:启动运行

http://127.0.0.1:8081/api

备注

  • 端口号已自己配置为准

如下图所示:


微服务架构实战篇(二):Spring boot2.0 + Swagger2 API可视化


swagger2.jpg

第九步:执行


微服务架构实战篇(二):Spring boot2.0 + Swagger2 API可视化


输入.jpg

微服务架构实战篇(二):Spring boot2.0 + Swagger2 API可视化


输出.jpg

贡献者

  • IT实战联盟-Line
  • IT实战联盟-咖啡

更多精彩内容可以关注“IT实战联盟”哦~~~

微服务架构实战篇(二):Spring boot2.0 + Swagger2 API可视化


分享到:


相關文章: