All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.ddm4j.api.document.controller.ApiDocumentController Maven / Gradle / Ivy

package com.github.ddm4j.api.document.controller;

import com.github.ddm4j.api.document.bean.InterfaceJsonDoc;
import com.github.ddm4j.api.document.utils.ScanControllerUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.github.ddm4j.api.document.config.CheckConfig;
import com.github.ddm4j.api.document.config.DocumentConfig;

@Controller
public class ApiDocumentController {

	@Autowired
	DocumentConfig config;
	@Autowired
	CheckConfig chConfig;

	/**
	 * 获取数据
	 * 
	 * @param account
	 *            login_account
	 * @param password
	 *            login_password
	 * @return code 1000 成功 1001 文档关闭 2001 登录失败 3001 账号或密码为空
	 * 
	 */
	@ResponseBody
	@RequestMapping("/ddm4j/document")
	public InterfaceJsonDoc document(String account, String password) {
		// 数据返回对象
		InterfaceJsonDoc doc = new InterfaceJsonDoc();

		doc.setName(config.getName());
		doc.setDescribe(config.getDescribe());
		doc.setVersion(config.getVersion());

		if (!config.isEnable()) {
			// 文档关闭
			doc.setCode(1001);
			return doc;
		}
		// 未设置扫描包路径,等同为关闭
		if ((null == config.getPath() || "".equals(config.getPath().trim()))) {
			// 文档关闭
			doc.setCode(1001);
			return doc;
		}

		if (config.getLogin().isEnable()) {
			doc.setCode(2001);
			if (null != config.getLogin().getAccount() && !"".equals(config.getLogin().getAccount().trim())) {
				if (null == account || "".equals(account.trim())) {
					doc.setCode(3001);
					return doc;
				}

				if (!account.trim().equals(config.getLogin().getAccount().trim())) {
					return doc;
				}
			}

			if (null != config.getLogin().getPassword() && !"".equals(config.getLogin().getPassword().trim())) {
				if (null == password || "".equals(password.trim())) {
					doc.setCode(3001);
					return doc;
				}

				if (!password.trim().equals(config.getLogin().getPassword().trim())) {
					return doc;
				}
			}
		}
		// 权限都校验成功了
		doc.setCode(1000);
		// 路径前缀处理
		String path = config.getContextPath();
		if (null != path && !"".equals(path)) {
			if (!path.startsWith("/")) {
				path = "/" + path;
			}

			if (path.endsWith("/") && path.length() > 2) {
				path = path.substring(0, path.length() - 1);
			}
		}
		// 前缀
		// String prefix = config.getPrefix();
		// if (null != prefix && !"".equals(prefix.trim())) {
		// if (!prefix.startsWith("/")) {
		// prefix = "/" + prefix;
		// }
		//
		// if (prefix.endsWith("/") && path.length() > 2) {
		// prefix = prefix.substring(0, prefix.length() - 1);
		// }
		// path = prefix + path;
		// }
		ScanControllerUtil util = new ScanControllerUtil(chConfig, config);
		// 扫描
		doc.setControllers(util.scan(config.getPath(), path));
		return doc;
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy