Я попытался отправить объект из оконного клиента в контроллер.
Может быть получен тестовый объект, но id
и id2
имеют значение 0
и null
.
Я пропустил некоторые настройки?
public class Test
{
public int id { get; set; }
public string id2 { get; set; }
}
// webapiconfig
public static void Register(HttpConfiguration config)
{
config.MapHttpAttributeRoutes();
config.Formatters.Add(new BsonMediaTypeFormatter());
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
оконный клиент
private async void Form1_LoadAsync(object sender, EventArgs e)
{
using (HttpClient client = new HttpClient())
{
client.BaseAddress = new Uri("http://localhost:58716/");
// Set the Accept header for BSON.
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/bson"));
var aa = new Test()
{
id = 2,
id2="3333"
};
// POST using the BSON formatter.
MediaTypeFormatter bsonFormatter = new BsonMediaTypeFormatter();
var result = await client.PostAsync("Report/Test", aa, bsonFormatter);
result.EnsureSuccessStatusCode();
}
}
веб-сервер
public class ReportController : Controller
{
public void Test(Test aa)
{
}
}