안드로이드에서 사용했었던 레트로핏 예제와 유사한 예제를 진행해볼게요.
서버페이지에서 콜백을 받아서 데이터베이스의(DB)의 데이터같은 것들을 스트링 및 제이슨으로 받아볼수있었는데요.
IOS에서하는 예제를 알아보도록 하겠습니다.
우선 코코아팟에 라이브러리를 추가해주겠습니다.
pod 'Alamofire', '~> 5.1'
해당 라이브러리를 추가해주세요.
코코아팟 설치법은
https://onedaycodeing.tistory.com/88
해당 게시글을 참조해주세요.
우선 import해주고 넘어갈게요.
import Alamofire
그리고 이제 함수를 하나 만들었습니다.
func Http_Communication() {
/*
@ 넘어갈 파라미터를 작성.
*/
let Parameters:Parameters = [
"TEST":"Test 입니다."
]
//통신할 서버 IP 및 경로
let url = "http://192.168.0.147:8080/test/testing.jsp"
let alamo = AF.request(url, method: .post, parameters: Parameters).validate(statusCode: 200..<300)
alamo.responseString() { response in
switch response.result
{
case .success(let value):
print("통신 성공 : ", value)
case .failure(let error):
print("통신 실패 : ",(String(describing: error.errorDescription)))
}
}
}
맨위에는 이제 파라미터를 작성해주었습니다.
제이슨을 생각하시면 됩니다.
Key:Value 의 쌍으로 이뤄진 키와 값으로 작성해줍니다.
해당 예제에서는 키는 TEST 값은 Test 입니다. <<< 로 되어있습니다.
그리고 url상수에다가 통신하고자하는 IP와 그 서버페이지의 경로를 넣어줍니다.
우선 테스트를 하기에는 로컬서버가 용이하기에 로컬서버로 하였습니다.
통신에 성공했는지 여부를 판단하기위해 값이 200~300사이 값이면 통신 성공입니다.
switch case로 나뉘어서 성공한다면 value에 서버에서 넘어온 값이 저장됩니다.
실패하면 실패에 해당하는 에러가 로그로 추출됩니다.
이렇게하면 해당 처리가 끝나는데 여기서 분명 그럼 저 jsp파일에서 코딩은 어떻게 하는거람... 생각을 가진분이 계실겁니다.
여기서 부터는 jsp쪽 페이지를 살펴볼게요.
이클립스에서 프로젝트 하나 생성하겠습니다.
이러쿵 저러쿵 해서 Dynamic Web Project를 생성해주세요.
대충 만들고 넘어가도록 하겠습니다.
WebContent에서 jsp파일을 생성해주세요.
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
String result = request.getParameter("TEST");
if(result.equals("Test 입니다."){
result = "Test 잘 받았어.";
}
%>
<%=result %>
테스트를 위해 예제로 이런식으로 했습니다.
아까 Xcode에서 보낸 키값이 TEST였죠. 그래서 받을때 이제 TEST로 받은겁니다.
받아서 비교를 합니다 Xcode에서 보낸 TEST 키의 값은 Test 입니다. 였습니다.
그리고 <% result %> 해줍니다.
그럼 아까 Xcode에서 코딩해놓은 switch case문에서 콜백을 받습니다.
톰켓서버 시작하시고 테스트 해보시면 되는데 주의 하셔야할것은,,,
이 추가된 톰켓서버를 더블클릭해서 보시면
뜨는 창에서 아래 모듈을 클릭해주시고
모듈을 추가버튼을 눌러서 만든 프로젝트를 추가해주셔야합니다.
자 이렇게하면 대략적인 테스트가 끝났습니다.
페이지만 단순 테스트를 원하시면 포스트맨을 이용해보는것도 추천드립니다.
https://www.postman.com/downloads/
여기서 다운받을수 있으니 참고하셔도 좋을 것 같습니다.
'IOS' 카테고리의 다른 글
IOS 하이브리드 웹에서 window.open 처리 및 window.close 처리 (새창 처리) (3) | 2020.06.08 |
---|---|
IOS URL스킴 지정 후 웹에서 네이티브 앱 실행 후 네이티브 파라미터까지 받아보자. (0) | 2020.05.29 |
IOS Json 파싱 및 인코딩 하기. SwiftyJSON 라이브러리 (0) | 2020.05.22 |
Web -> IOS 네이티브 실행 (IOS용 안드로이드 브릿지) WKScriptMessageHandler (0) | 2020.05.22 |
IOS 하이브리드 앱 진행 시 캐시 삭제 (0) | 2020.05.20 |
댓글