apiController.ftl 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196
  1. <#import "../function.ftl" as func>
  2. <#assign class=model.variables.class>
  3. <#assign classVar=model.variables.classVar>
  4. <#assign sys=model.variables.sys>
  5. <#assign module=model.variables.module>
  6. <#assign isBaseModule=model.variables.isBaseModule>
  7. <#if isBaseModule = 'true'>
  8. package com.lc.apiservice.${sys}.web.controller;
  9. <#else>
  10. package com.lc.apiservice.${sys}.${module}.web.controller;
  11. </#if>
  12. import javax.servlet.http.HttpServletRequest;
  13. import javax.servlet.http.HttpServletResponse;
  14. import org.springframework.stereotype.Controller;
  15. import org.springframework.web.bind.annotation.PathVariable;
  16. import org.springframework.web.bind.annotation.RequestMapping;
  17. import org.springframework.web.bind.annotation.RequestMethod;
  18. import org.springframework.web.bind.annotation.ResponseBody;
  19. import com.lc.apiservice.common.entity.BaseAPIResult;
  20. <#if isBaseModule = 'true'>
  21. import com.lc.apiservice.${sys}.entity.${class}ListAPIResult;
  22. import com.lc.apiservice.${sys}.entity.${class}APIResult;
  23. <#else>
  24. import com.lc.apiservice.${sys}.${module}.entity.${class}ListAPIResult;
  25. import com.lc.apiservice.${sys}.${module}.entity.${class}APIResult;
  26. </#if>
  27. import com.lc.app.core.framework.web.controller.GenericController;
  28. import com.wordnik.swagger.annotations.Api;
  29. import com.wordnik.swagger.annotations.ApiOperation;
  30. /**
  31. * 对象功能: ${model.tabComment} 对外API服务
  32. <#if vars.company?exists>
  33. * 开发公司:${vars.company}
  34. </#if>
  35. <#if vars.developer?exists>
  36. * 开发人员:${vars.developer}
  37. </#if>
  38. * 创建时间:${date?string("yyyy-MM-dd HH:mm:ss")}
  39. */
  40. @Controller
  41. <#if isBaseModule = 'true'>
  42. @RequestMapping("/api/${sys}/")
  43. @Api(value = "/api/${sys}/",basePath="/api/${sys}/",description = "${model.tabComment} 对外API服务")
  44. <#else>
  45. @RequestMapping("/api/${sys}/${module}/")
  46. @Api(value = "/api/${sys}/${module}/",basePath="/api/${sys}/${module}/",description = "${model.tabComment} 对外API服务")
  47. </#if>
  48. public class ${class}APIController extends GenericController {
  49. private final static String V1="v1";
  50. @Override
  51. protected void initController() {
  52. //TODO 初始化操作
  53. }
  54. /**
  55. * 查询 ${model.tabComment} 集合
  56. * @param request
  57. * @param response
  58. * @return ${class}ListAPIResult
  59. * @throws Exception
  60. */
  61. @RequestMapping(value=V1 + "/${classVar}s",method=RequestMethod.GET)
  62. @ResponseBody
  63. @ApiOperation(
  64. value = V1 + "/${classVar}s",
  65. notes = "查询 ${model.tabComment} 集合",
  66. response = ${class}ListAPIResult.class,
  67. httpMethod = "GET"
  68. )
  69. public ${class}ListAPIResult list(HttpServletRequest request,HttpServletResponse response) throws Exception{
  70. //TODO
  71. return new ${class}ListAPIResult();
  72. }
  73. /**
  74. * 往集合添加单个 ${model.tabComment} 实体
  75. * @param request
  76. * @param response
  77. * @return ${class}APIResult
  78. * @throws Exception
  79. */
  80. @RequestMapping(value=V1 + "/${classVar}s",method=RequestMethod.POST)
  81. @ResponseBody
  82. @ApiOperation(
  83. value = V1 + "/${classVar}s",
  84. notes = "往集合添加单个 ${model.tabComment} 实体",
  85. response = ${class}APIResult.class,
  86. httpMethod = "POST"
  87. )
  88. public ${class}APIResult add(HttpServletRequest request,HttpServletResponse response) throws Exception{
  89. return new ${class}APIResult();
  90. }
  91. /**
  92. * 删除${model.tabComment} 集合,可以传入条件。(慎重,某些模块如果不需要对外提供此功能,请删除此方法)
  93. * @param request
  94. * @param response
  95. * @return ${class}APIResult
  96. * @throws Exception
  97. */
  98. @RequestMapping(value=V1 + "/${classVar}s",method=RequestMethod.DELETE)
  99. @ResponseBody
  100. @ApiOperation(
  101. value = V1 + "/${classVar}s",
  102. notes = "删除${model.tabComment} 集合",
  103. response = ${class}APIResult.class,
  104. httpMethod = "DELETE"
  105. )
  106. public ${class}APIResult deleteAll(HttpServletRequest request,HttpServletResponse response) throws Exception{
  107. return new ${class}APIResult();
  108. }
  109. /**
  110. * 更新${model.tabComment} 集合
  111. * @param request
  112. * @param response
  113. * @return ${class}ListAPIResult
  114. * @throws Exception
  115. */
  116. @RequestMapping(value=V1 + "/${classVar}s",method=RequestMethod.PUT)
  117. @ResponseBody
  118. @ApiOperation(
  119. value = V1 + "/${classVar}s",
  120. notes = "更新${model.tabComment} 集合",
  121. response = ${class}ListAPIResult.class,
  122. httpMethod = "PUT"
  123. )
  124. public ${class}ListAPIResult updateAll(HttpServletRequest request,HttpServletResponse response) throws Exception{
  125. return new ${class}ListAPIResult();
  126. }
  127. /**
  128. * 查询单个 ${model.tabComment} 实体
  129. * @param id
  130. * @param request
  131. * @param response
  132. * @return
  133. * @throws Exception
  134. */
  135. @RequestMapping(value=V1 + "/${classVar}s/{key}",method=RequestMethod.GET)
  136. @ResponseBody
  137. @ApiOperation(
  138. value = V1 + "/${classVar}s/{key}",
  139. notes = "查询单个 ${model.tabComment} 实体",
  140. response = ${class}APIResult.class,
  141. httpMethod = "GET"
  142. )
  143. public ${class}APIResult get(@PathVariable String key,HttpServletRequest request,HttpServletResponse response) throws Exception{
  144. return new ${class}APIResult();
  145. }
  146. /**
  147. * 更新单个 ${model.tabComment} 实体
  148. * @param id
  149. * @param request
  150. * @param response
  151. * @return
  152. * @throws Exception
  153. */
  154. @RequestMapping(value=V1 + "/${classVar}s/{key}",method=RequestMethod.PUT)
  155. @ResponseBody
  156. @ApiOperation(
  157. value = V1 + "/${classVar}s/{key}",
  158. notes = "更新单个 ${model.tabComment} 实体",
  159. response = ${class}APIResult.class,
  160. httpMethod = "PUT"
  161. )
  162. public ${class}APIResult update(@PathVariable String key,HttpServletRequest request,HttpServletResponse response) throws Exception{
  163. return new ${class}APIResult();
  164. }
  165. /**
  166. * 删除单个 ${model.tabComment} 实体
  167. * @param id
  168. * @param request
  169. * @param response
  170. * @return
  171. * @throws Exception
  172. */
  173. @RequestMapping(value=V1 + "/${classVar}s/{key}",method=RequestMethod.DELETE)
  174. @ResponseBody
  175. @ApiOperation(
  176. value = V1 + "/${classVar}s/{key}",
  177. notes = "删除单个 ${model.tabComment} 实体",
  178. response = ${class}APIResult.class,
  179. httpMethod = "DELETE"
  180. )
  181. public BaseAPIResult delete(@PathVariable String key,HttpServletRequest request,HttpServletResponse response) throws Exception{
  182. return new BaseAPIResult();
  183. }
  184. }