json support
-
Felipe Seixas
- Tag set to json hypermedia
Vou colocar aqui dúvidas relativas a implementação só para revalidarmos em breve:
-
Ao inserir uma hypermedia, a assinatura da interface, "string Insert(string content, IList relations)", recebe claramente o conteúdo em formato string. No caso teria que Deserializá-lo para objeto, inserir as relations e serializá-lo novamente para Json? Achei um pouco estranho isso, não sei se seria a idéia. Bom, se essa for a situação correta, então não conseguiríamos utilizar o próprio JsonDeserializer implementado, pois a interface de unmarshalling obriga que seja definido também um Type para isso.
-
Ao criar uma transição (link, hypermedia, etc) tenho que identificá-la com um nome, controller, action, url e uma lista de chave/valor (string/object). Porém ao adicioná-la de fato ao conteúdo json, só é utilizado os atributos nome e url. (vide implementação do Atom). Temos que rever isso pois os outros atributos que definem a transição estão sendo postos de lado.
-
Mauricio Aniche
Não entendi. O HypermediaInserter é só na hora da serialização, e não da deserialização. A idéia é que vc serialize QUALQUER objeto, e depois se ele tiver hypermedia, insere os links nele. Ele recebe uma string, pq é como TODO objeto fica depois de serializado. O hypermediaInserter apenas insere os links nos lugares certos dessa string. Na deserialização não há links.
Uma transição é composta de um nome e um link. Agora que vi que o objeto hoje tem Action, e etc. Em algum momento essa classe precisava disso, eu passei a responsabilidade pra outra, e ficou com esse lixo. Já removi isso do branch aqui e devo pushar em breve. Aliás, já está lá!
Por favor, nas próximas, escreva em inglês! :)
-
Felipe Seixas
- Assigned user set to Mauricio Aniche
- Milestone order changed from 0 to 0
Done.
I sent to you a pull request of my fork.
Please Sign in or create a free account to add a new ticket.
With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.