Подтвердить что ты не робот

Как заставить ServiceStack форматировать гиды с тире при использовании JSON?

Использование ServiceStack для возврата простого объекта User из сообщения.

Пользовательский объект довольно прост:

public class User
{
    public Guid Id { get; set; }
    public string Username { get; set; }
}

Метод post:

public override object OnPost(User user)
{
    User newUser;
    // Do stuff to user...
    return newUser;
}

Моя проблема заключается в том, что ServiceStack форматирует Guid без тире, поэтому ответ JSON выглядит, например. например:

{"id":"c884ce020ec94c65a8788c2ddc500434","username":"new user name"}

Клиент - клиент Android/Java, и метод UUID.fromString() действительно расстраивается в этом формате.

Есть ли способ заставить ServiceStack вернуть Guid, отформатированный с тире?

4b9b3361

Ответ 1

вы можете переопределить сериализатор Guid как

ServiceStack.Text.JsConfig<Guid>.SerializeFn = guid => guid.ToString();