при создании приложения asp.net mvc возникает вопрос. Как я могу отправить XML из формы просмотра бритвы в контроллер Web Api. У меня есть эти классы:
namespace webapi.Models
{
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Runtime.Serialization;
using System.Xml.Serialization;
[DataContract(Name = "shepherd")]
public partial class Shepherd
{
public Shepherd()
{
this.Sheep = new HashSet<Sheep>();
}
[DataMember(Name = "shepherdId")]
public int Id { get; set; }
[DataMember(Name = "name")]
public string Name { get; set; }
[DataMember(Name = "isDeleted")]
public bool IsDeleted { get; set; }
[DataMember(Name = "sheeps")]
public virtual ICollection<Sheep> Sheep { get; set; }
}
}
namespace webapi.Models
{
using System;
using System.Collections.Generic;
using System.Runtime.Serialization;
using System.Xml.Serialization;
[DataContract(Name = "sheep")]
public partial class Sheep
{
[DataMember(Name = "id")]
public int Id { get; set; }
[DataMember(Name = "colour")]
public string Colour { get; set; }
[DataMember(Name = "createdon")]
public DateTime CreatedOn { get; set; }
public int Shepherd { get; set; }
public virtual Shepherd Sh { get; set; }
}
}
и этот вид бритвы
using (Html.BeginForm())
{
<div id="createform" class="form-horizontal">
@Html.EditorFor(x => x.Name)
@Html.EditorFor(x => x.Sheep.FirstOrDefault().Colour)
<input type="button" id="crate" value="Create" />
</div>
}
как я могу опубликовать пастыря для этого действия в форме xml, а не в формате json, только в формате XML.
[ResponseType(typeof(Shepherd))]
public async Task<IHttpActionResult> PostShepherd(Shepherd shepherd)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
db.Shepherds.Add(shepherd);
await db.SaveChangesAsync();
return CreatedAtRoute("DefaultApi", new { id = shepherd.Id }, shepherd);
}