Как получить ответ json для пользовательского объекта, используя службы REST wcf? - PullRequest
0 голосов
/ 04 июля 2011

Как я могу сериализовать объект для возврата пользовательского типа?

//The response is null. 
http://localhost:50604/GameService/Getbyid?id=1

[WebGet(ResponseFormat = WebMessageFormat.Json)]
public MyClass GetById(int id)


[DataContract]
[KnownType(typeof(User))]
public partial class MyClass
{
    [DataMember]
    public int Id { get; set; }
    [DataMember]
    public string Name { get; set; }
    [DataMember]
    public int? CreatedBy { get; set; }
    [DataMember]
    public virtual User CreatedByUser { get; set; } //How will I serialize this?
}

1 Ответ

0 голосов
/ 04 июля 2011

Вам не хватает UriTemplate для вашей операции, поэтому ваш идентификатор, вероятно, никогда не передается, и ваш метод работает со значением по умолчанию = 0.

Попробуйте это:

[WebGet(UriTemplate="Getbyid?id={id}", ResponseFormat = WebMessageFormat.Json)]
public MyClass GetById(int id)

CreatedByUser будет автоматически сериализовано, если заполнено, и если пользователь также заключил контракт на передачу данных.

...