For omitempty to work properly, nested structs have to be pointers

This commit is contained in:
Deluan 2016-03-02 12:06:57 -05:00
parent 01c68d6802
commit 7c82af75f5
4 changed files with 6 additions and 6 deletions

View File

@ -62,6 +62,6 @@ func (c *GetIndexesController) Get() {
}
response := responses.NewEmpty()
response.ArtistIndex = res
response.ArtistIndex = &res
c.Ctx.Output.Body(responses.ToXML(response))
}

View File

@ -9,7 +9,7 @@ type GetLicenseController struct{ beego.Controller }
func (c *GetLicenseController) Get() {
response := responses.NewEmpty()
response.License = responses.License{Valid: true}
response.License = &responses.License{Valid: true}
c.Ctx.Output.Body(responses.ToXML(response))
}

View File

@ -25,6 +25,6 @@ func (c *GetMusicFoldersController) Get() {
folders[i].Name = f.Name
}
response := responses.NewEmpty()
response.MusicFolders = responses.MusicFolders{Folders: folders}
response.MusicFolders = &responses.MusicFolders{Folders: folders}
c.Ctx.Output.Body(responses.ToXML(response))
}

View File

@ -7,9 +7,9 @@ type Subsonic struct {
Status string `xml:"status,attr"`
Version string `xml:"version,attr"`
Body []byte `xml:",innerxml"`
License License `xml:",omitempty"`
MusicFolders MusicFolders `xml:",omitempty"`
ArtistIndex ArtistIndex `xml:",omitempty"`
License *License `xml:",omitempty"`
MusicFolders *MusicFolders `xml:",omitempty"`
ArtistIndex *ArtistIndex `xml:",omitempty"`
}
type License struct {