springboot 接口测试工具Swagger2

package com.wolfking.jeesite;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.ParameterBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Parameter;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

import java.util.ArrayList;
import java.util.List;

@Configuration
@EnableSwagger2
public class Swagger2 {

    @Bean
    public Docket createRestApi() {
        ParameterBuilder tokenPar = new ParameterBuilder();
        List<Parameter> pars = new ArrayList<Parameter>();
        /*tokenPar.name("token").description("令牌")
                .modelRef(new ModelRef("string")).parameterType("query").required(false).build();
        pars.add(tokenPar.build());*/
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.wolfking.jeesite.modules.sys.restful"))
                .paths(PathSelectors.any())
                .build().globalOperationParameters(pars)  ;
    }

    @SuppressWarnings("deprecation")
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("org测试")
                .description("")
                .termsOfServiceUrl("")
                .contact("宋甲贺")
                .version("1.0")
                .build();
    }

}

/**
 * Copyright &copy; 2012-2016 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.
 */
package com.wolfking.jeesite.modules.sys.restful;

import com.alibaba.fastjson.JSONObject;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.wolfking.jeesite.common.utils.StringUtils;
import com.wolfking.jeesite.common.web.BaseController;
import com.wolfking.jeesite.modules.sys.entity.AppUser;
import com.wolfking.jeesite.modules.sys.entity.ItdragonResult;
import com.wolfking.jeesite.modules.sys.entity.Office;
import com.wolfking.jeesite.modules.sys.entity.User;
import com.wolfking.jeesite.modules.sys.service.AppOfficeService;
import com.wolfking.jeesite.modules.sys.service.AppUserService;
import com.wolfking.jeesite.modules.sys.service.SsoService;
import com.wolfking.jeesite.modules.sys.service.SystemService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 用户Controller
 * @author ThinkGem
 * @version 2013-8-29
 */
@Api(value="用户测试Controller")
@Controller
@RequestMapping(value = "/user")
public class UserRestController extends BaseController {

   @Autowired
   private SystemService systemService;
   @Autowired
   private AppOfficeService appOfficeService;
   @Autowired
   private AppUserService appUserService;
   @Autowired
    private SsoService ssoService;
   @ModelAttribute
   public User get(@RequestParam(required=false) String id) {
      if (StringUtils.isNotBlank(id)){
         return systemService.getUser(id);
      }else{
         return new User();
      }
   }
    @ApiOperation(value="根据id查询用户", notes="根据id查询用户" ,httpMethod="POST")
    @ApiImplicitParams({
            @ApiImplicitParam(name="id", value="用户id", dataType = "String", required=true, paramType="form")
    })
    @ResponseBody
    @RequestMapping("/getUserById")
   public ItdragonResult getUserById(String id){
        ItdragonResult ir=new ItdragonResult();
        if (StringUtils.isNotBlank(id)){
            ir.setStatus(200);
            ir.setMsg("查询成功");
            ir.setData(systemService.getUser(id));
        }else{
            ir.setStatus(400);
            ir.setMsg("查询失败");
        }
        return ir;
    }
   /**
   * 功能描述:根据手机号查询用户是否存在
   * @param:
   * @return:
   * @auther: 宋甲贺
   * @date:
   */
    @ApiOperation(value="根据登录名查询用户是否存在", notes="根据登录名查询用户是否存在" ,httpMethod="POST")
    @ApiImplicitParams({
            @ApiImplicitParam(name="loginName", value="登录名", dataType = "String", required=true, paramType="form")
    })
   @ResponseBody
   @RequestMapping("/getUserByLoginname")
   public ItdragonResult getUserByLoginname(HttpServletRequest request, HttpServletResponse response, Model model){
      String loginname=request.getParameter("loginName");
      User u=systemService.getUserByLoginName(loginname);
      ItdragonResult rv=new ItdragonResult();
      if(u!=null&&u.getId()!=null&&!u.getId().equals("")){
         rv.setStatus(400);
         rv.setMsg("用户名已经被占用!请使用其他用户名!");
      }else{
         rv.setStatus(200);
         rv.setMsg("用户名可以使用!");
      }
      response.addHeader("Access-Control-Allow-Origin", "*");
      response.addHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");

      return rv;
   }
   /*@ResponseBody
   @RequestMapping(value = {"listData"})
   public Page<User> listData(User user, HttpServletRequest request, HttpServletResponse response, Model model) {
      Page<User> page = systemService.findUser(new Page<User>(request, response), user);
      return page;
   }*/
    @ApiOperation(value="更新用户信息", notes="更新用户" ,httpMethod="POST")
    @ApiImplicitParams({
            @ApiImplicitParam(name="loginName", value="登录名", dataType = "String", required=true, paramType="form"),
            @ApiImplicitParam(name="password", value="密码", dataType = "String", required=true, paramType="form")
    })
   @RequestMapping("/update")
   @ResponseBody
   public ItdragonResult update(HttpServletRequest request, HttpServletResponse response) {
      //获得json 解析出User对象
      ItdragonResult rv=new ItdragonResult();
         String username=request.getParameter("loginName");
         String password= request.getParameter("password");
         User user = new User();
         user.setLoginName(username);
         user.setName(username);
         //user.setUpdatedDate(new Date());
         user.setPassword(password);
         systemService.saveUser(user);

      rv.setStatus(200);
      rv.setMsg("更新成功");
      return rv;
   }
   /**
    * 功能描述:添加个人用户 ,注册
    * @param:
    * @return:
    * @auther: 宋甲贺
    * @date:
    */
   @ApiOperation(value="新增个人用户信息", notes="新增个人用户" ,httpMethod="POST")
   @ApiImplicitParams({
         @ApiImplicitParam(name="loginName", value="登录名", dataType = "String", required=true, paramType="form"),
         @ApiImplicitParam(name="password", value="密码", dataType = "String", required=true, paramType="form")
   })
   @RequestMapping("/insert")
   @ResponseBody
   public ItdragonResult insert(HttpServletRequest request, HttpServletResponse response) {
      ItdragonResult rv=new ItdragonResult();
      //获得json 解析出User对象


      String username=request.getParameter("loginName");
      String password= request.getParameter("password");
      User user = new User();
      user.setLoginName(username);
      user.setName(username);
      user.setMobile(username);
      //user.setUpdatedDate(new Date());
      user.setPassword(password);
      systemService.saveUser(user);
      rv.setStatus(200);
      rv.setMsg("保存成功");
      response.addHeader("Access-Control-Allow-Origin", "*");
      response.addHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
      return rv;
   }
   /**
    * 功能描述:添加企业用户 ,
    * @param:
    * @return:
    * @auther: 宋甲贺
    * @date:
    */
   @ApiOperation(value="新增企业用户信息", notes="新增企业用户" ,httpMethod="POST")
   @ApiImplicitParams({
         @ApiImplicitParam(name="eid", value="企业id", dataType = "String", required=true, paramType="form"),
         @ApiImplicitParam(name="maccountid", value="主账户id", dataType = "String", required=false, paramType="form"),
         @ApiImplicitParam(name="nickname", value="昵称账户", dataType = "String", required=false, paramType="form"),
         @ApiImplicitParam(name="password", value="密码", dataType = "String", required=true, paramType="form")
   })
   @RequestMapping("/insertEuser")
   @ResponseBody
   public ItdragonResult insertEuser(HttpServletRequest request, HttpServletResponse response) {
      ItdragonResult rv=new ItdragonResult();
      //获得json 解析出User对象
      String eid=request.getParameter("eid");
      if(StringUtils.isEmpty(eid)){
         rv.setStatus(400);
         rv.setMsg("企业id不能为空");
         return rv;
      }
      String password= request.getParameter("password");
      if(StringUtils.isEmpty(password)){
         rv.setStatus(400);
         rv.setMsg("密码不能为空");
         return rv;
      }
      User user = new User();
      //user.setUpdatedDate(new Date());
      user.setPassword(password);
      Office company=new Office();
      company.setId(eid);
      user.setCompany(company);
      String maccountid=request.getParameter("maccountid");
      if(!StringUtils.isEmpty(maccountid)) {
         User maccount = new User();
         maccount.setId(maccountid);
         user.setMaccount(maccount);
      }
      String nickname=request.getParameter("nickname");
      if(!StringUtils.isEmpty(nickname)){
         user.setNickname(nickname);
      }
      long euno=systemService.getEUno();
      user.setLoginName(euno+"");
      user.setNo(euno+"");
      System.out.println(euno);
      systemService.saveUser(user);
      rv.setStatus(200);
      rv.setMsg("保存成功");
      response.addHeader("Access-Control-Allow-Origin", "*");
      response.addHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
      return rv;
   }
    @ApiOperation(value="将用户注入sso", notes="将用户注入sso" ,httpMethod="POST")
    @ApiImplicitParams({
            @ApiImplicitParam(name="id", value="用户id", dataType = "String", required=true, paramType="form")
    })
    @RequestMapping("/active")
    @ResponseBody
    public ItdragonResult active(HttpServletRequest request, HttpServletResponse response) {
        ItdragonResult rv=new ItdragonResult();
        String id=request.getParameter("id");
        if(StringUtils.isEmpty(id)){
            rv.setStatus(400);
            rv.setMsg("id不能为空");
            return rv;
        }
        User user=systemService.getUser(id);
        String rejson=ssoService.login();
        JSONObject jsonObject = JSONObject.parseObject(rejson);
        JSONObject sonObject=jsonObject.getJSONObject("data");
        String token=sonObject.getString("token");
        ssoService.setUser(user,token);
        rv.setStatus(200);
        rv.setMsg("保存成功");
        response.addHeader("Access-Control-Allow-Origin", "*");
        response.addHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
        return rv;
    }
    @ApiOperation(value="通过登录名和应用名获取角色", notes="获取角色" ,httpMethod="POST")
    @ApiImplicitParams({
            @ApiImplicitParam(name="loginName", value="登录名", dataType = "String", required=true, paramType="form"),
            @ApiImplicitParam(name="appname", value="应用名", dataType = "String", required=true, paramType="form")
    })
   @RequestMapping("/getRoleByLoginName")
   @ResponseBody
   public Object getRoleByUsername(HttpServletRequest request, HttpServletResponse response) {
      //获得json 解析出User对象
      String username =request.getParameter("loginName");
      String appname=request.getParameter("appname");
      //根据appname和username查找角色
      AppUser appuser=appUserService.findRoleByappnameandusername(username,appname);
      Map<String,Object> appusermap=new HashMap<String,Object>();
      appusermap.put("roleid", appuser.getRoleid());
      String roleid=appuser.getRoleid();
      String rolename="";
      if(roleid.equals("1")) {
         rolename="管理员";
      }else if(roleid.equals("2")) {
         rolename="专家";
      }else if(roleid.equals("3")) {
         rolename="工程师";
      }else if(roleid.equals("4")) {
         rolename="普通用户";
      }
      appusermap.put("rolename", rolename);
      String userid=appuser.getUserid();
      User user=this.get(userid);
      appusermap.put("companyid", user.getCompany().getId());
      System.out.print(username+"..............ssssssssssssss");
      Object pjson = JSONObject.toJSON(appusermap);//将java对象转换为json对象
      String str = pjson.toString();//将json对象转换为字符串
      System.out.println(str);
      return str;
   }

   /**
    * 验证登录名是否有效
    * @param loginName
    * @return
    */
    @ApiOperation(value="查询登录名是否被占用", notes="查询登录名" ,httpMethod="POST")
    @ApiImplicitParams({
            @ApiImplicitParam(name="loginName", value="登录名", dataType = "String", required=true, paramType="form")
    })
   @ResponseBody
   @RequestMapping(value = "checkLoginName")
   public ItdragonResult checkLoginName(String loginName) {
        ItdragonResult ir=new ItdragonResult();
      if (loginName !=null && systemService.getUserByLoginName(loginName) == null) {
         ir.setMsg("登录名可以使用");
         ir.setStatus(200);
      }else{
            ir.setMsg("登录名已被使用");
            ir.setStatus(400);
        }
      return ir;
   }
   /**
   * 功能描述:根据企业id获取旗下的用户
   * @param:
   * @return:
   * @auther: 宋甲贺
   * @date:
   */
    @ApiOperation(value="根据企业id获取企业的用户", notes="根据企业id获取企业的用户" ,httpMethod="POST")
    @ApiImplicitParams({
            @ApiImplicitParam(name="officeId", value="企业id", dataType = "String", required=true, paramType="form")
    })
   @ResponseBody
   @RequestMapping(value = "treeData")
   public List<Map<String, Object>> treeData(@RequestParam(required=false) String officeId, HttpServletResponse response) {
      List<Map<String, Object>> mapList = Lists.newArrayList();
      List<User> list = systemService.findUserByOfficeId(officeId);
      for (int i=0; i<list.size(); i++){
         User e = list.get(i);
         Map<String, Object> map = Maps.newHashMap();
         map.put("id", "u_"+e.getId());
         map.put("pId", officeId);
         map.put("name", StringUtils.replace(e.getName(), " ", ""));
         mapList.add(map);
      }
      return mapList;
   }
}

pom.xml:

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.2.2</version>
</dependency>
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.2.2</version>
</dependency>

访问路径:

http://localhost:9091/swagger-ui.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值