我在南希写了以下模块
public class CategoryModule : NancyModule
{
public CategoryModule()
{
//At this moment just Show Hello world
Get["/"] = _ => { return "Nancy says hello!"; };
//Get["/"] = parameters => "Hello World!";
GetCategories();
SetCategory();
}
void GetCategories()
{
Get["/Catergories"] = _ =>
{
var catergoryRepository = new CategoryRepository();
var categorycollection = catergoryRepository.GetCategoryInfo();
return Negotiate.WithStatusCode(HttpStatusCode.OK).WithModel(categorycollection.ToArray());
};
}
void SetCategory()
{
Post["/Catergories/{categryName:string}"] = _ =>
{
var catergoryModel = this.Bind<Category>();
catergoryModel.PK_CategoryId = Guid.NewGuid();
catergoryModel.CategoryName = _;
return HttpStatusCode.OK;
};
}
}
我正在使用chrome POSTMAN来测试Module.I可以在&#34; GetCategories()&#34; 中获得断点,如果我调用 http://192.168.1.4:8888/Categories < / strong>在POSTMAN中。 但如果我打电话给 http://192.168.1.4:8888/Catergories/categryName=test ,我就无法在 SetCategory()中获得断点。我是Nancy的新手,不确定我的帖子方法是否正确。
任何人都可以提供
我在他们的文档中找不到上面的简单示例。
注意
我正在使用自托管环境,我将使用以下代码托管南希
var server = new Nancy.Hosting.Self.NancyHost(new Uri("http://192.168.1.4:8888"));
以下是类别模型
public class Category
{
public Guid PK_CategoryId { get; set; }
public string CategoryName { get; set; }
}
答案 0 :(得分:5)
如果您想使用POSTMAN发布JSON,您应该添加带有JSON内容类型的标头,如docs所述(第三段)。设置POSTMAN:
http://192.168.1.4:8888/Categories
,然后选择POST
。Content-Type
和application/json
作为标头和值
分别raw
并将JSON
设置为类型。{ "CategoryName": "something" }
原样放在下面的文字字段中。