using System.Threading.Tasks;
using Newtonsoft.Json.Linq;
using GraphQL.NewtonsoftJson;
using System.Collections.Generic;
namespace HelloWorldMvcApp
public class HomeController : Controller
public ActionResult Index()
return View(new SampleViewModel());
public async Task<ActionResult> GetAnswer(string model)
public async Task<ActionResult> Graphql(string body) {
var graphqlBody = JsonConvert.DeserializeObject<GraphqlBody>(body);
var schema = Schema.For(@" type Query { hello: String } ");
var root = new { Hello = "Hello World!" };
var result = await schema.ExecuteAsync(_=>{
_.Query = graphqlBody.Query;
}).ConfigureAwait(false);
return Json(new{data=new{Msg="Hi"}});
public async Task Stream()
response.AddHeader("Content-Type","text/event-stream");
for(var i = 0; true; ++i)
response.Write("data: "+ DateTime.Now +"\r\r");
await Task.Delay(5 * 1000);
public string Query { get; set;}
public string OperationName { get; set; }
public JObject Variables { get; set; }