Responding with JSON

Introduction

Typed JSON objects are serialized automatically to the application/json format when returned from a handler.

Example

PersonPage.json
{
    "FirstName": "Bilbo",
    "LastName": "Baggins"
}
PersonPage.json.cs
using Starcounter;

namespace MyApp
{
    class Program
    {
        static void Main()
        {
            Handle.GET("/GetPerson", () =>
            {
                return new PersonPage(); // {"FirstName":"Bilbo","LastName":"Baggins"}
            });
        }
    }
}

Setting Status Code and Description

The default HTTP status code for responses is 200 OK.

To change this, two methods are provided to the Handle class: SetOutgoingStatusCode and SetOutgoingStatusDescription.

In code, they look like this:

It is also possible to change the status code and description by creating a Response object:

The JSON needs to be explicitly parsed to a string using ToJson when attaching a Typed JSON object to the body of a Response.

Last updated