REST API 작성 방법
취미 프로젝트로 iPhone 앱을 만들고 있는데 데이터를 제공하기 위해서는 웹 서비스가 필요합니다.직장에서 하는 일과 크게 다르지 않지만, 직장에서는 뷰와 컨트롤러만 씁니다.모델을 작성하는 것은 다른 사람이 담당하며, 일반적으로 클라이언트는 웹 서비스를 제공합니다.
MySQL이나 PHP를 사용하고 있던 시절에도 웹 프로그래밍을 몇 번 한 적이 있기 때문에, 스킬은 조금 구식이지만, 이미 알고 있는 테크닉을 사용할 수 있다고 자신하고 있습니다.하지만 구식 도구로 시간을 낭비하고 싶지는 않습니다.REST API를 작성하는 것이 최첨단이라는 것을 알게 되었습니다.모델을 정의하는 즉시 CRUD 기능을 갖춘 REST API를 제공할 수 있는 훌륭한 프레임워크가 있어야 한다고 생각합니다.
제 질문은 다음과 같습니다.REST API를 실행하여 실행하는 가장 빠른 방법은 무엇입니까?저는 이 API에 너무 많은 시간을 할애하지 않고 아이폰 앱 작성에 집중하고 싶습니다.웹 관리 및 개정 내역도 얻을 수 있으면 좋겠습니다.API는 공개되지 않기 때문에 인증도 지원하면 좋을 것 같습니다.
확실히 해두기 위해서.저는 PHP 프레임워크도 상관없습니다.사실 현재 진행 중인 호스트가 이를 지원하는 것을 알고 있기 때문에 더 나을 수 있습니다.
편집:
3년간 유효했던 것 같았던 아래의 링크가 기능하지 않게 되어, 새로운 튜토리얼을 몇 개 찾아 보았습니다만, 당분간 계속 남아 있을 것 같습니다.이것들은 매우 존경받는 IOS 개발 튜토리얼 사이트인 Ray Wenderlich 사이트에 있습니다.첫 번째 기사에서는 실제로 아래의 끊어진 링크에 대해 언급하고 있지만, 그 내용은 그 자체로 완전합니다.
iOS 앱용 간단한 PHP/MySQL 웹 서비스를 작성하는 방법
두 번째는 약간 반전이 있어요.백엔드 및 AFNetworking에서 parse.com을 사용했습니다.둘 다 꽤 훌륭합니다.
저는 아래 링크의 파손을 복구하기 위해 반송 기계에서 물품을 찾았습니다.사람들이 링크를 좋아하는 것 같아서 내가 보관할게.위의 링크는 생각할 거리를 더 제공해야 한다.
나는 내 아이폰 앱에서도 똑같은 것을 하고 있다.PHP에서의 RESTful API 구축에 관한 다음 기사를 찾았습니다.
다음 기사도 있습니다.
문서 하단에 소스 코드로 연결되는 링크가 있습니다.
ASIHTTPRequest를 사용한 iPhone에서 Zend_Rest_Controller를 사용하여 ZEND Framework에서 REST API를 프로그래밍했습니다.둘 다에 대한 내 경험이 좋았습니다.처음에는 ZEND를 설정하고 mySQL에 연결하는 데 어려움이 있었지만, 방법을 알게 되자 API를 매우 빠르게 작성할 수 있었습니다.질문이 있으시면 더 많은 정보를 알려드리겠습니다.
집집에 대한 공식 것 .Zend_Rest_Controller
이 링크는 API를 만드는 방법을 설명합니다.렌더링 기능을 무효로 하면 됩니다.init()
합니다.
알려드리기 위해:
Ruby on Rails를 사용하게 되었습니다.
편집: 이 답변은 Ruby on Rails를 선택한 이유와 REST API를 작성하는 방법을 제시하지 않았기 때문에 저의 동기 부여와 간단한 설명을 드리려고 합니다.
Ruby on Rails에 관한 책을 읽기 시작했는데, 발판만 있으면 된다는 것을 깨달았고 JSON REST API를 무료로 받았습니다.
여기 시작하기에 좋은 가이드가 있습니다.http://guides.rubyonrails.org/getting_started.html
Ruby on Rails 환경이 가동되고 있는 경우, REST API를 작성하는 것은 실행보다 어렵지 않습니다.
$ rails generate scaffold Post name:string title:string content:text
(위 링크의 예)또한 Rails는 매우 쉽고 자유롭게 heroku에 도입할 수 있다는 것을 알게 되었습니다.즉, 매우 기본적인 저트래픽인 REST API 호스팅 비용을 지불할 필요가 없었습니다.Ruby on Rails와 함께 일하게 된 것은 그 밖에도 여러 가지 이유가 있지만, 그것은 이 질문의 맥락 밖입니다.
저는 PHP를 사용하여 RESTful API를 만들기 위한 매우 간단한 튜토리얼을 따랐습니다.
Corey Maynard - PHP를 사용한 RESTful API 생성
주요 개념은 다음과 같습니다.
- URI 해석 및 응답 반환을 처리하는 추상 클래스 1개
- API의 엔드포인트만으로 구성된 하나의 구체적인 클래스입니다.
Python은 어때?
Python, Django, Piston을 사용합니다.
- inspectdb를 사용하여 기존 DB에서 Django 모델을 생성합니다.
- 모델에 Django 관리자를 추가합니다.
- Django Piston을 앱에 추가합니다.
- 이익.
Python 또는 Django에 대한 경험이 없기 때문에 이 솔루션을 개발하는 데 하루가 걸릴 수 있으며 모든 코드는 유닛 테스트 및 동작하는 것으로 증명되었습니다.
PHP를 사용하고 싶다면 필 스터전의 REST 서버와 함께 CodeIgniter 프레임워크를 사용할 것을 권장합니다.
http://net.tutsplus.com/tutorials/php/working-with-restful-services-in-codeigniter-2
https://github.com/philsturgeon/codeigniter-restserver
MVC에 이은 다음 PHP 클래스를 체크합니다.http://www.phpclasses.org/package/5080-PHP-Implement-REST-Web-services-servers.html
이게 도움이 됐으면 좋겠다.
PHP를 이미 알고 있다면 PHP/MySQL 백엔드에 문제가 없습니다.모든 응답을 iPhone 호환의 plist xml 형식으로 송신해, 다음의 짧은 코드 스니펫을 사용해 응답을 NSDirectionary/NSArray/NS Number 데이터 구조로 즉시 변환할 수 있습니다.
NSString *response = [request responseString];
NSData* plistData = [response dataUsingEncoding:NSUTF8StringEncoding];
NSPropertyListFormat format;
NSString *errorStr;
NSDictionary* plist = [NSPropertyListSerialization propertyListFromData:plistData
mutabilityOption:NSPropertyListImmutable
format:&format
errorDescription:&errorStr];
또, URL 의 작성, 비동기 요구의 송신, 및 응답의 수신에는, ASIHTTP 패키지를 사용하고 있습니다.이것을 강력히 추천합니다.
http://allseeing-i.com/ASIHTTPRequest/
웹 서비스에는 당신이 편한 언어를 사용해야 합니다.요청에 대한 REST 응답을 공식화할 수 있는 언어라면 어떤 언어라도 상관없습니다.
단, 빠른 실행을 원하는 경우 Google App Engine에서 Python을 사용할 것을 권장합니다.무료이며, 원한다면 Python 대신 Java를 사용할 수 있습니다.App Engine은 Open을 사용한 인증을 지원합니다.ID 및/또는 Google 계정(상호 배타적인지 확실하지 않음)을 사용하면 코딩이 쉬워집니다.
iOS 디바이스에서 요청을 하는 경우 ASIHTTPRuest를 사용하는 것이 좋습니다.
또 다른 옵션은 초경량 지속성 프레임워크인 restSQL입니다.http://restsql.org 를 참조해 주세요.MySQL 및 Postgre 지원SQL 및 표준 Java EE 컨테이너(예: Apache Tomcat)에서 실행됩니다.
restSQL은 매우 파격적인 데이터 액세스 레이어입니다.restSQL은 데이터베이스의 객체 지향 뷰가 아닙니다.관계형 데이터베이스 테이블의 플랫 또는 계층형 "뷰"를 표시합니다.이러한 보기는 단순한 REST 기반 HTTP 또는 Java API를 통해 쿼리 및 업데이트할 수 있습니다.HTTP 인터페이스는 REST 원칙을 기반으로 합니다.REST 원칙은 HTTP의 내장 기능을 사용하여 추상화하지 않고 기능을 사용합니다.
CRUD 기능을 갖춘 REST API를 원하는 경우, 이것이 바로 휴식입니다.SQL의 스위트 스팟.코드 없이도 할 수 있어요XML 파일을 사용하여 SQL 리소스를 정의하고 완전한 CRUD 기능을 사용하여 해당 파일에 대한 HTTP 호출을 시작합니다.
언급URL : https://stackoverflow.com/questions/4973156/how-to-write-a-rest-api
'programing' 카테고리의 다른 글
mysql_real_escape_string()을 우회하는 SQL 주입 (0) | 2023.01.27 |
---|---|
PHP를 사용하여 RSS/Atom 피드를 구문 분석하는 가장 좋은 방법 (0) | 2023.01.27 |
SQL의 값 배열에 따라 존재하는 값과 존재하지 않는 값 배열 (0) | 2023.01.27 |
VueJs 소품이 구성 요소에 정의되어 있지 않습니다. (0) | 2023.01.27 |
디렉토리를 재귀적으로 작성하려면 어떻게 해야 합니까? (0) | 2023.01.17 |