728x90
SMALL
url로 데이터를 전송하면 저장이 되는 api를 개발해야함
view는 없어도 됨
@RestController = @Controller + @ResponseBody
RestController를 써도 되지만 나는 다른 기능때문에 일단은 분리하여 개발
구조는 contoller,service,serviceImpl,Dao,Vo,mapper파일이고 상수만 설정해놓은 파일도 하나 생성했다
Apicontroller.java
@Controller
@SuppressWarnings({"all"})
public class ApiController extends BaseController {
@Resource(name="ApiService")
protected ApiService apiService;
@RequestMapping("/api/saveInfo")
@ResponseBody
public Map saveInfo(HttpServletRequest request, ModelMap model
, @ModelAttribute InfoVO infoVO) throws Exception {
Map paramMap = getParameterMap(request, true);
Map resultMap = new HashMap();
String resultCode = "00";
try {
if(CommUtils.isEmpty(infoVO.getCd())) {
resultCode = "03";
resultMap.put("errMsg", ApiConst.ERR_MSG);
} else {
// 코드를 저장한다.
apiService.saveInfo(paramMap);
}
resultMap.put("returnAuthMsg", ApiConst.ApiResultMap.get(resultCode));
resultMap.put("returnReasonCode", resultCode);
}
catch (Exception e) {
resultCode = "99";
resultMap.put("errMsg", ApiConst.ERR_MSG);
resultMap.put("returnAuthMsg", ApiConst.ApiResultMap.get(resultCode));
resultMap.put("returnReasonCode", resultCode);
}
return resultMap;
}
}
ApiService.java
@SuppressWarnings({"all"})
public interface ApiService {
public void saveInfo(Map paramMap) throws Exception;
}
ApiServiceImpl.java
@Service("ApiService")
@SuppressWarnings({"all"})
public class ApiServiceImpl extends BaseService implements ApiService {
@Resource(name = "ApiDAO")
private ApiDAO apiDAO;
/**코드를 등록한다.*/
@Override
public void saveInfo(Map paramMap) throws Exception {
apiDAO.saveInfo(paramMap);
}
}
ApiDao.java
@Repository("ApiDAO")
@SuppressWarnings({"all"})
public class ApiDAO extends BaseDAO {
/* 코드 등록*/
public int saveInfo(Map paramMap) {
return save("Api.saveInfo", paramMap);
}
}
mapper-Api.xml
<mapper namespace="Api">
<!-- 코드저장 -->
<insert id="saveInfo" parameterType="java.util.HashMap">
INSERT INTO tableA (
...
) VALUES (
#{..}
...
)
</insert>
</mapper>
Api 테스트는 postman을 사용했다
ApiConst.java
@SuppressWarnings("unused")
public class ApiConst {
private ApiConst() {};
static final String ERR_MSG = "SERVICE ERROR";
static final Map<String, String> ApiResultMap;
static {
Map<String, String> map = new HashMap<String, String>();
map.put("00", "SUCCESS"); // 정상
....
ApiResultMap = Collections.unmodifiableMap(map);
}
}
728x90
LIST
'JAVA > Java' 카테고리의 다른 글
Restful API 개발 (3) dataType별(json,xml) 출력하기, controller에서 xml json변환하기 (0) | 2022.03.28 |
---|---|
Restful API 개발 (2) 정보 조회 (0) | 2022.03.25 |
Map에 넣은 순서대로 나오게 하는 방법 (HashMap, LinkedHashMap) (0) | 2022.03.25 |
controller에서 url로 동적 매핑하기 @PathVariable (0) | 2022.03.25 |
enum의 name()과 tostring()의 차이점 (0) | 2022.01.10 |
댓글