에서 ASP.NET WebAPI에서 리소스에 대한 하이퍼 링크를 생성하기위한 솔리드 지침이 있습니까? 나는이에 게시물의 몇 가지를 읽었습니다 : 정보 비록하이퍼 링크 WebAPI
http://codebetter.com/glennblock/2012/01/08/hypermedia-and-web-api-design-brain-dump-and-samples/
http://blog.ploeh.dk/2012/04/17/HyperlinkingWithTheASPNETWebAPI.aspx
은 가장 자원에 대한 링크를 구현하는 방법의 측면에서 다른 구체적인 Microsoft의 지침 또는 수없는 것으로 나타납니다 (즉, 서비스 모델에서 DTO를 사용하여 구현 된 객체 모델). 우리가 진정한 RESTful 서비스를 구현하기 위해 WebAPI를 사용한다면, 하이퍼 링크가 중요합니다. 그리고 WebAPI에 대한 지원/안내가 기대됩니다.
간단한 구현 예는 주소 집합과 SupportIncident 컬렉션이있는 Contact 엔터티를 사용하는 것입니다. 내가 그렇게 같은 것을 보일 것이다 언급 한 첫 번째 기사를 기반으로 클래스 정의 :
public class Link
{
public Uri Uri { get; set; }
public string Rel { get; set; }
public string Name { get; set; }
}
public class ContactDTO
{
public int ID { get; set; }
public string Name { get; set; }
public IList<AddressDTO> Addresses { get; set; }
public IList<IncidentDTO> Incidents{ get; set; }
public IList<Link> Links { get; set; }
}
WebAPI는 HTTP를 통해이 모델 (XML/JSON)과 GET/PUT/POST를 노출에서 중대하다/액션 삭제 리소스에 있지만 진정한 RESTful 서비스를 구축하려면 인지 알고 싶습니다. a) WEBAPI의 링크 생성에 대한 고유 한 지원이 있습니까? b) 클라이언트가 리소스에 대한 링크를 포함하고있는 위의 모델을 노출하기위한 적절한 지침과 클라이언트가 페이로드의 일부로 링크를 보내는 경우 API가 PUT/POST를 처리하는 방법은 있습니까? 이것들은 무시해야합니까?
는 당신이 웹 API의 하나로, OData 지원을 생각 해 봤나? 이것은 당신이 찾고있는 하이퍼 링크와 편안한 의미를 풍부하게 지원합니다. http://blogs.msdn.com/b/webdev/archive/2013/01/29/getting-started-with-asp-net-webapi-odata-in-3-simple-steps.aspx –
중 하나로, OData 지원은 현재 반 굽고 통합하기 쉬운 것 같지 않습니다. 게다가 EDM 모델을 정의해야 할 것입니다. –
@Abhijeet이 문제에 대해 결국 무엇을 생각해 냈습니까? – Tr1stan