2012-07-24 5 views
0

asp.net 웹 API에 대해 읽었지만 웹 API 도구의 개념을 이해할 수 있는지 확실하지 않습니다. 이제는 APIController에서 파생 된 Controller를 정의했으며 URL을 사용하여이 Controller를 호출 할 수 있고 Controller가 JSON 결과를 클라이언트에 반환한다고 가정 해 보겠습니다.asp.net 웹 API를 사용하여 RESTfull 웹 서비스를 개발하는 방법

이렇게하면 내 asp.net MVC 웹 응용 프로그램 내의 APIController는 RESTfull 웹 서비스로 공개됩니까? BR

답변

2

귀하의 API가 'RESTfull'로 간주되는지 여부는 디자인의 문제이며 사용되는 라이브러리/프로젝트 템플릿에 대한 질문이 아닙니다. API의 요점은 단순한 프로그래밍 인터페이스를 드러내는 것임을 기억하십시오. 뒤에서 구현되는 방식은 그 점에서 중요하지 않습니다.

이지만 WebAPI 프로젝트 템플릿은 설계 원칙이 기본이기 때문에 편안한 서비스를 설계하는 데 적합합니다.

지내는 API의 기본 개념은 다음과 같습니다

  • 사용 HTTP의 (WebAPI가하는, 그래서 확인) 프로토콜
  • 는 일반적으로에게 POST가// PUT을 GET/삭제, 데이터를 처리하기위한 간단한 API를 노출 데이터 처리에 묶여 방법 (JSON는 또한 XML, WebAPI에서 쉽게 행할 수)는

그것은 많은 다른 F 아니다 상호 운용 형식으로

  • 데이터 전송 (이것은 WebAPI 디자인에 잘 빌려 준다 것입니다) ROM은 기본 MVC 컨트롤러/액션을 사용하여 REST API를 설계했지만 WebAPI를 사용하면 좀 더 쉽게 사용할 수 있습니다. http://www.asp.net/web-api/videos/getting-started/your-first-web-api

  • 0

    잘 Apicontroller totaly 다른 MVC Controller에서, 그것은 WCF WebApi에서 유래하지만, 개발자들에게 고전 asp.net 컨트롤러와 매우 유사했다 :

    는 여기에 좋은 비디오 시리즈입니다. 요점은 평안한 서비스를 만드는 것입니다.

    항상 하나의 경로를 지정하면 querystring 및 body json (기본값)을 사용하고 Poco 클래스로 자동 변환 한 다음 몇 가지 컨트롤러를 작성하여 자동으로 jsion에 직렬화 된 다른 Poco 클래스를 반환합니다.

    +1

    죄송합니다 귀하의 요청에 AcceptContent-Type 헤더를 사용하여 어떤 형식으로 전송하지만, ApiController는 WCF 웹 API 프로젝트에서 오지 않는다됩니다 결정할 수 있습니다. – user1527329

    +0

    네가 맞습니다. 나는 명확하지 않았다. 나는 Apicontroller가 Controller 나 ControllerBase 클래스를 확장하지 않는다는 것을 의미한다. 단지 IHttpController를 구현한다. –

    1

    는 내가 너무 기본적으로 건축 당신이 resource
    http://www.example.com/USER 같은를 선택하고 리소스에 대한 작업을 할 수있는 서버에 지시

    REST는 Representational state transfer
    을 의미 앤더스에 추가 할. 어떤 웹 API로가는
    을 전송되는 HTTP 요청 유형 정의는 상자
    POST 나오는 - 단순히 사용자 (들) 정보
    를 retrives - 기존 사용자 정보
    GET을 편집 - 새 사용자
    PUT를 추가 DELETE는 - 사용자 정보
    을 삭제하고이 데이터 유형은 보내거나 (JSON 또는 XML) recived되고 REST

    입니다. 나머지 사양의 일부가 아닙니다.또한 당신은 asp.net 웹 API 데이터를 넣다가 반환하고를 해결하기

    관련 문제