<%if(isNotEmpty(projectName)){%>${projectName}<%}else{%>API Reference<%}%>

<%if(isNotEmpty(projectName)){%> ${projectName} <%}%>

<%if(isNotEmpty(revisionLogList)){%>

<% for(revisionLog in revisionLogList){ %> <%}%>

Version Update Time Status Author Description

${revisionLog.version}

${revisionLog.revisionTime}

${revisionLog.status}

${revisionLog.author}

${revisionLog.remarks}

<%}%>

<% if(isNotEmpty(dependencyList)){ %> Add dependency

    <% for(dependency in dependencyList){ %>
    <dependency>
        <groupId>${dependency.groupId}</groupId>
        <artifactId>${dependency.artifactId}</artifactId>
        <version>${dependency.version}</version>
    </dependency>
    <%}%>

<%if(isNotEmpty(consumerConfigExample)){%> Consumer config

${consumerConfigExample}

<%}%> <%}%>

<% for(api in apiDocList){ %>

${api.desc}

URI: ${api.uri}

Service: ${api.name}

Protocol: ${api.protocol}

Author: ${api.author}

Version: ${api.version} <% for(doc in api.list){ %>

<%if(doc.deprecated){%> ~${doc.desc}~ <%}else{%> ${doc.desc} <%}%>

Definition: ${doc.methodDefinition}

<%if(isNotEmpty(doc.author)){%> Author: ${doc.author} <%}%>

Description: ${doc.detail}

<%if(isNotEmpty(doc.requestParams)){%> Invoke-parameters:

<% for(param in doc.requestParams){ %>
Parameter Type Description Required Since

${param.field}

${param.type}

${param.desc}

${param.required}

${param.version} <%}%>

<%}%>

<%if(isNotEmpty(doc.responseParams)){%> Response-fields:

<% for(param in doc.responseParams){ %>
Field Type Description Since

${param.field}

${param.type}

${param.desc}

${param.version} <%}%>

<%}%>

<%}%> <%}%>

<%if(isNotEmpty(errorCodeList)){%>

${errorCodeListOrder}.${errorListTitle}

<%for(error in errorCodeList){%> <%}%>
Error code Description

${error.value}

${htmlEscape(error.desc)}

<%}%><%if(isNotEmpty(dictList)){%>

${dictListOrder}.${dictListTitle}

<%for(dict in dictList){%>

${dictListOrder}.${dict.order}.${htmlEscape(dict.title)}

<%for(dataDict in dict.dataDictList){%> <%}%>
Code Type Description

${dataDict.value}

${dataDict.type}

${htmlEscape(dataDict.desc)}

<%}%>
<%}%>