ServiceStack POST、PUT、DELETE 方法无效
ServiceStack POST,PUT, DELETE method not working
我是 servicestack 的新手,不知何故我的 POST,PUT 和 DELETE 方法不起作用。
错误 - ServiceStack.WebException:方法不允许
错误代码 - NotImplementedException
虽然 GET 方法按预期工作!
任何建议为什么我会收到这样的错误。
服务请求代码示例 -
[Route("/students", "POST")]
public class CreateStudent : IReturn<StudentDTO>
{
public int Id { get; set; }
public String FirstName { get; set; }
public string LastName { get; set; }
}
服务响应-
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);
提前致谢!
您的请求 DTO 是 CreateStudent
但您发布的是完全不同的 Student
DTO,请将其更改为使用请求 DTO,例如:
var client = new JsonServiceClient(BaseUrl);
var request = new CreateStudent
{
FirstName = "FirstName",
LastName = "LastName"
};
var response = client.Post(request);
我是 servicestack 的新手,不知何故我的 POST,PUT 和 DELETE 方法不起作用。
错误 - ServiceStack.WebException:方法不允许 错误代码 - NotImplementedException
虽然 GET 方法按预期工作!
任何建议为什么我会收到这样的错误。
服务请求代码示例 -
[Route("/students", "POST")]
public class CreateStudent : IReturn<StudentDTO>
{
public int Id { get; set; }
public String FirstName { get; set; }
public string LastName { get; set; }
}
服务响应-
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);
提前致谢!
您的请求 DTO 是 CreateStudent
但您发布的是完全不同的 Student
DTO,请将其更改为使用请求 DTO,例如:
var client = new JsonServiceClient(BaseUrl);
var request = new CreateStudent
{
FirstName = "FirstName",
LastName = "LastName"
};
var response = client.Post(request);