<%if(isNotEmpty(projectName)){%>${projectName}<%}else{%>API Reference<%}%>
<%if(isNotEmpty(revisionLogList)){%>
<%for(revisionLog in revisionLogList){%><%}%>
VersionUpdate TimeStatusAuthorDescription

${revisionLog.version}

${revisionLog.revisionTime}

${revisionLog.status}

${revisionLog.author}

${revisionLog.remarks}

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

1. Add dependency

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

Consumer config

${consumerConfigExample}
<%}%>
<%}%><%for(api in apiDocList){%>

${api.order+1}. ${htmlEscape(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){%>${api.order+1}.${doc.order}. ${htmlEscape(doc.desc)}<%}else{%>${api.order+1}.${doc.order}. ${htmlEscape(doc.desc)}<%}%>

Definition: ${doc.escapeMethodDefinition}

Description: ${doc.detail}

<%if(isNotEmpty(doc.requestParams)){%>

Invoke-parameters:

<%for(param in doc.requestParams){%><%}%>
ParameterTypeDescriptionRequiredSince

${param.field}

${param.type}

${htmlEscape(param.desc)}

${param.required}

${param.version}

<%}%><%if(isNotEmpty(doc.responseParams)){%>

Response-fields:

<%for(param in doc.responseParams){%><%}%>
FieldTypeDescriptionSince

${param.field}

${param.type}

${htmlEscape(param.desc)}

${param.version}

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

${apiDocList.~size+2}. ${errorListTitle}

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

${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){%><%}%>
CodeTypeDescription

${dataDict.value}

${dataDict.type}

${htmlEscape(dataDict.desc)}

<%}%>
<%}%>
Top