2015-03-25 4 views
1

Я новичок в servicestack и как-то мои методы POST, PUT и DELETE не работают.ServiceStack POST, PUT, DELETE метод не работает

Ошибка - ServiceStack.WebException: Method Not Allowed ERRORCODE - NotImplementedException

Хотя метод GET работает, как ожидалось!

Любое предложение, почему я получаю такую ​​ошибку.

Service Request Code Sample -

[Route("/students", "POST")] 
public class CreateStudent : IReturn<StudentDTO> 
{ 
    public int Id { get; set; } 
    public String FirstName { get; set; } 
    public string LastName { get; set; } 
} 

Service Response -

public StudentDTO Post(CreateStudent request) 
    { 
     var student = new Student() 
     { 
      Id = request.Id, 
      FirstName = request.FirstName, 
      LastName = request.LastName 
     }; 

     using (var connection = this.OpenDbConnection()) 
     { 
      connection.Insert(student); 
     } 

     return Mapper.Map<StudentDTO>(student); 
    } 

Это, как я называю это -

var student = new Student 
     { 
      Id = Guid.NewGuid(), 
      FirstName = "FirstName", 
      LastName = "LastName" 
     }; 

     var response = this.Client.Post(student); 

Заранее спасибо!

+1

Это далеко не достаточно информации, чтобы быть в состоянии идентифицировать проблему. Пожалуйста, укажите исходный код для вашей Реализации Сервиса, ваш запрос DTO с любыми определенными Маршрутами, а также как вы звоните в Службу и какие-либо подробности об ошибке, например. необработанный HTTP-ответ (вы можете использовать Fiddler или WebInspector). – mythz

+0

Я отредактировал мой вопрос. Пожалуйста, смотрите. – JJoe123

ответ

2

Ваш запрос DTO является CreateStudent, но Вы отправляете совершенно другой Student DTO, измените его использовать запрос DTO, например:

var client = new JsonServiceClient(BaseUrl); 

var request = new CreateStudent 
{ 
    FirstName = "FirstName", 
    LastName = "LastName" 
}; 

var response = client.Post(request); 
+1

О, Боже, я мог бы понять это! Большое спасибо! – JJoe123