为什么我的Nancyfx谈判员没有返回正确的模型?

时间:2016-12-13 20:18:47

标签: c# nancy

我定义了以下路线:

Get["/test"] = _ => Negotiate
    .WithModel(new { Name = "This is base model " })
    .WithMediaRangeModel(new MediaRange("text/html"), new { Name = "This is text/html" })
    .WithMediaRangeModel(new MediaRange("text/plain"), new { Name = "This is text/plain" })
    .WithView("index");

我得到的是什么:

Accepts header            Actual response (content-type + model)
-----------------         -----------------------------------------
text/html            (OK) HTML view with "html" model 
application/json     (OK) application/json with "base" model
text/plain                HTTP 406 
text/*                    application/json with "html" model 
*/*                       application/json with "html" model 

所以:

  • 如何让"text/plain"模型返回Accepts: text/plain
  • 为什么" html"为application/json ??
  • 返回的模型(内容类型为*/*

我真的只想要一个JSON(或任何其他格式)模型,以及呈现HTML视图时的不同模型(包括PageTitle和其他一些HTML特定的东西)。

这对我来说非常像一个错误,但由于我是NancyFx的新手并且它已经存在了一段时间,我会假设我做错了什么。

我使用Nancy 1.4.3和Nancy.Hosting.Self 1.4.1。

0 个答案:

没有答案