현재 Windows, iOS, Android에서 크로스 플랫폼을 사용하기 위해 C# 라이브러리를 작성 중입니다. Rest 서비스를 사용하고 응답에서 반환되는 객체에 문제가 발생했습니다. API 호출을 위해 RestSharp를 사용하고 있습니다. Xsd2Code.NET을 사용하여 API가 제공하는 xsd에서 클래스를 생성했습니다.RestSharp 소비 SubSonic REST API
문제는 응답이 포장되어 <subsonic-response>
에 있습니다. 내가 원하는 항목은 안에 포함되어 있습니다. RestSharp는 구문 분석을 시도하고 유형을 List<NowPlaying>
으로 전달하지만 그 안의 항목이 NowPlaying 객체로 채워지지 않습니다. 나는 NowPlaying에 대한 serialize/deserialize 메소드를 생성했으나 <subsonic-response>
루트 요소로 인해 예외가 발생합니다. <subsonic-response>
을 삭제할 수있는 방법이 있습니까? 나는 RestSharp 호출에 대해 response.RootElement = "subsonic-response"를 시도했지만 작동하지 않습니다. 아래의 답변을 참조하십시오. 어떤 도움이라도 좋을 것입니다.
RestResponse : 생성 된
<?xml version="1.0" encoding="UTF-8"?>
<subsonic-response xmlns="http://subsonic.org/restapi" status="ok" version="1.7.0">
<nowPlaying>
<entry id="503a5c4d757369635c4a616e20326b31325c444a20434852495354554646204449204d414420595554452046524f4d2052454e41495353414e43452050524553454e5453204d3320284d454d4241204d45204d4141442920324b31325c444a20434852495354554646204449204d414420595554452046524f4d2052454e41495353414e43452050524553454e5453204d332020284d454d4241204d45204d4141442920324b31325c38372e2044616e63652044616e63652028445542535445502052454d495829202d20426967205365616e2e6d7033" parent="503a5c4d757369635c4a616e20326b31325c444a20434852495354554646204449204d414420595554452046524f4d2052454e41495353414e43452050524553454e5453204d3320284d454d4241204d45204d4141442920324b31325c444a20434852495354554646204449204d414420595554452046524f4d2052454e41495353414e43452050524553454e5453204d332020284d454d4241204d45204d4141442920324b3132"
title="Dance Dance (DUBSTEP REMIX) - Big Sean"
isDir="false"
album="M3 MIXTAPE (MEMBA. ME. MAAD)"
artist="DJ CHRISTUFF DI MAD YUTE FROM RENAISSANCE"
duration="67"
bitRate="192"
year="2012"
size="1615419"
suffix="mp3"
contentType="audio/mpeg"
isVideo="false"
coverArt="503a5c4d757369635c4a616e20326b31325c444a20434852495354554646204449204d414420595554452046524f4d2052454e41495353414e43452050524553454e5453204d3320284d454d4241204d45204d4141442920324b31325c444a20434852495354554646204449204d414420595554452046524f4d2052454e41495353414e43452050524553454e5453204d332020284d454d4241204d45204d4141442920324b31325c444a20434852495354554646202d204d454d4241204d45204d4141442046524f4e542e6a7067"
path="Jan 2k12/DJ CHRISTUFF DI MAD YUTE FROM RENAISSANCE PRESENTS M3 (MEMBA ME MAAD) 2K12/DJ CHRISTUFF DI MAD YUTE FROM RENAISSANCE PRESENTS M3 (MEMBA ME MAAD) 2K12/87. Dance Dance (DUBSTEP REMIX) - Big Sean.mp3"
username="admin"
playerId="2"
playerName="subAir"
minutesAgo="0"/>
</nowPlaying>
</subsonic-response>
클래스 : 나는 내 문제를 해결 나머지 서비스
public NowPlaying getNowPlaying()
{
NowPlaying playing;
try
{
var request = new RestRequest();
request.Resource = "getNowPlaying.view";
playing = SendRequest<NowPlaying>(request);
}
catch (Exception ex)
{
throw ex;
}
return playing;
}