Я сериализовал ответ REST API на JSON через ASP.NET Web API.
Вот мой результат: Формат JSON .
Я получаю доступ к этому результату по следующей ссылке: http://192.168.2.35:55281/api/Students
. Поэтому я хочу, чтобы мой формат JSON начинался с заголовка класса, например:
"Students": [
{
"Id": 18,
"Type": "Sayısal",
"Class_Id": 9
}
]
Но, к сожалению, как видно из ссылки вверху, у меня нет названия для Students
. Как я могу активировать его в своем веб-API?
Вот мой контроллер:
public class StudentsController : ApiController
{
private DBClassroomEntities db = new DBClassroomEntities();
// GET: api/Students
public IQueryable<Student> GetStudent()
{
return db.Student;
}
// GET: api/Students/5
[ResponseType(typeof(Student))]
public IHttpActionResult GetStudent(int id)
{
Student student = db.Student.FirstOrDefault(s=>s.Id==id);
if (student == null)
{
return NotFound();
}
return Ok(student);
}
// PUT: api/Students/5
[ResponseType(typeof(void))]
public IHttpActionResult PutStudent(int id, Student student)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
if (id != student.Id)
{
return BadRequest();
}
db.Entry(student).State = EntityState.Modified;
try
{
db.SaveChanges();
}
catch (DbUpdateConcurrencyException)
{
if (!StudentExists(id))
{
return NotFound();
}
else
{
throw;
}
}
return StatusCode(HttpStatusCode.NoContent);
}
// POST: api/Students
[ResponseType(typeof(Student))]
public IHttpActionResult PostStudent(Student student)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
db.Student.Add(student);
db.SaveChanges();
return CreatedAtRoute("DefaultApi", new { id = student.Id }, student);
}
// DELETE: api/Students/5
[ResponseType(typeof(Student))]
public IHttpActionResult DeleteStudent(int id)
{
Student student = db.Student.Find(id);
if (student == null)
{
return NotFound();
}
db.Student.Remove(student);
db.SaveChanges();
return Ok(student);
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
db.Dispose();
}
base.Dispose(disposing);
}
private bool StudentExists(int id)
{
return db.Student.Count(e => e.Id == id) > 0;
}
}