package ${domain}.module.${module}.req;

<#list importList as i>
${i}
</#list>
<#list entNames as entName>
import ${domain}.module.${module}.ent.${entName};
</#list>
<#if !isTempReq>
import ${domain}.module.${module}.rsp.${rspClassName};
</#if>
import ${domain}.frame.ApiRequest;
<#if findOrSearchflag=='1'>
import ${domain}.frame.ApiFindRequest;
<#elseif findOrSearchflag=='2'>
import ${domain}.frame.ApiSearchRequest;
</#if>

<#list annotation as i>
${i}
</#list>
<#if findOrSearchflag=='1' && !isTempReq>
public class ${className} extends ApiFindRequest implements ApiRequest<${rspClassName}> {
<#elseif findOrSearchflag=='1' && isTempReq>
public class ${className} extends ApiFindRequest implements ApiRequest {
<#elseif findOrSearchflag=='2' && !isTempReq>
public class ${className} extends ApiSearchRequest implements ApiRequest<${rspClassName}> {
<#elseif findOrSearchflag=='2' && isTempReq>
public class ${className} extends ApiSearchRequest implements ApiRequest {
<#elseif !isTempReq>
public class ${className} implements ApiRequest<${rspClassName}> {
<#elseif isTempReq>
public class ${className} implements ApiRequest {
</#if>

<#list body as i>
<#if !i?contains("@")>
${i}
</#if>
</#list>

    public void check() {

    }

    public String path() {
        return "/${module}/${target}/${method}";
    }

<#if !isTempReq>
    public Class<${rspClassName}> responseClass() {
        return ${rspClassName}.class;
    }
<#elseif isTempReq>
    public Class responseClass() {
        return null;
    }
</#if>
}
