2015-07-20 20 views
6

Tôi đang sử dụng Nancy làm phần còn lại cho ứng dụng của mình. Hiện nay tôi đã quản lý để thêm tiêu đề vị trí để phản ứng của tôi với hack này:Cách chính xác để thêm tiêu đề vị trí vào các câu trả lời trong NancyFx

var headerUri = Request.Url.SiteBase + Request.Path + "/" + processedModel.Id.ToString(); 

Response response = new JsonResponse(processedModel,Response.Serializers.First(s => s.CanSerialize("application/json"))); 

response.Headers["Location"] = headerUri; 

return response; 

Như tôi cũng muốn trả lại kết quả json, những gì sẽ là giải pháp tốt nhất?

Trả lời

8

Nếu bạn chỉ muốn trở về JSON bạn có thể làm:

return Response.AsJson(model); 

Nếu bạn muốn chuyển hướng người dùng mà bạn có thể làm:

return Response.AsRedirect("url"); 

Nếu bạn muốn thêm tiêu đề cho kết quả JSON của bạn bạn có thể sử dụng .WithHeader(...) như sau:

return Response.AsJson(model).WithHeader("bananas", "are always yellow"); 

Đây là ví dụ nhanh về việc tôi trả về hình ảnh tiêu đề thứ i:

return Response.FromStream(thumbStream, "image/png") 
       .WithHeader("FileId", file.Id) 
       .WithHeader("FileName", file.Name); 
Các vấn đề liên quan