본문 바로가기
IOS

IOS Alamofire를 이용하여 HTTP통신 및 콜백 받아보기 (안드로이드 retrofit2 유사예제)

by 일용직 코딩노동자 2020. 5. 26.
728x90
반응형

안드로이드에서 사용했었던 레트로핏 예제와 유사한 예제를 진행해볼게요.

 

서버페이지에서 콜백을 받아서 데이터베이스의(DB)의 데이터같은 것들을 스트링 및 제이슨으로 받아볼수있었는데요.

 

IOS에서하는 예제를 알아보도록 하겠습니다.

 

우선 코코아팟에 라이브러리를 추가해주겠습니다.

 

pod 'Alamofire', '~> 5.1'

해당 라이브러리를 추가해주세요.

 

코코아팟 설치법은 

https://onedaycodeing.tistory.com/88

 

cocoapods(코코아) 설치 및 라이브러리 추가 및 설치가 끝난 후에 추가/ SnapKit

IOS에서 외부 라이브러리를 사용할때 쓰이는 cocoapods를 사용해보도록 할게요. 터미널을 열어서 sudo gem install cocoapods 를 입력하여 cocoapods를 설치해줍니다. 패스워드를 입력하라고 나온다면 맥 로��

onedaycodeing.tistory.com

해당 게시글을 참조해주세요.

 

우선 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/

 

Download Postman App

Download Postman! Join the 10 million developers and 500,000 companies who rely on Postman as the only complete API development environment.

www.postman.com

여기서 다운받을수 있으니 참고하셔도 좋을 것 같습니다.

728x90
반응형

댓글