一、项目结构图:
标记1、接口定义controller。
标记2、返回接口封装工具类。
二、具体实现流程:
1、定义接口返回code:
package org.scbit.lsbi.flup.common.code;
public interface ResultCode {
int SC_OK = 200;
int SC_NOT_FOUND = 404;
int SC_INTERNAL_SERVER_ERROR = 500;
/**
* 数据绑定错误
*/
int SC_PARAMETER_ERROR = 600;
/**
* 业务错误
*/
int SC_SERVICE_ERROR = 601;
int SC_THROW_ERROR = 602;
int SC_NO_LOGIN = 603;
int SC_FORM_ERROR = 604;
}
2、编写返回接口封装类Result:
package org.scbit.lsbi.flup.common.code;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class Result {
private static final String DEFAULT_SUCCESS_MESSAGE = "SUCCESS";
private int code;
private String message;
private Object data;
public static Result success() {
return Result.builder().code(ResultCode.SC_OK).message(DEFAULT_SUCCESS_MESSAGE).build();
}
public static Result success(Object data) {
return Result.builder().code(ResultCode.SC_OK).message(DEFAULT_SUCCESS_MESSAGE).data(data).build();
}
public static Result fail(String message) {
return Result.builder().code(ResultCode.SC_SERVICE_ERROR).message(message).build();
}
public static Result exception(String message) {
return Result.builder().code(ResultCode.SC_THROW_ERROR).message(message).build();
}
}
3、创建接口controller,接口请求的url:
package org.scbit.lsbi.flup.api;
import com.alibaba.fastjson.JSONArray;
import org.scbit.lsbi.flup.api.vo.FlupFormVo;
import org.scbit.lsbi.flup.common.code.Result;
import org.scbit.lsbi.flup.flupManage.flupTable.FlupTableService;
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 java.util.List;
@Controller
@RequestMapping("/api")
public class ApiController {
@Autowired
private ApiService apiService;
@Autowired
private FlupTableService flupTableService;
/**
* 专病系统接口(患者列表/专病列表) 根据部门和专病id 得到相关的所有随访
* @param depId
* @param diseaseId
* @return
*/
@RequestMapping("/getFlupForm")
@ResponseBody
public Result getFlupForm(String depId, String diseaseId) {
List<FlupFormVo> flupFormVoList = apiService.getFlupFormVoList(depId, diseaseId);
return Result.success(flupFormVoList);
}
}
4、apiService具体实现逻辑自己写。
5、浏览器问:项目名 +/api/getFlupFormdepId=6BXBKF5VCRH4VGSANDZUYDHIQM&diseaseId=UTUTRJNGFHSDFTGFBFVAWFDF
返回结果截图: