title: Return string from Web API .NET Core get operation
body: <p>I have a get operation that I want to return a string from.  An example would be</p>
  
  <blockquote>
    <p>"000875"</p>
  </blockquote>
  
  <p>When I return this string from a controller in my Web API Controller in full .NET, it formats it like this:</p>
  
  <pre><code>{
    "Property": "000875"
  }
  </code></pre>
  
  <p>When I return the string in my converted .NET Core Controller it returns this:</p>
  
  <pre><code>{
    "$id": "1",
    "$type": "System.Net.Http.HttpResponseMessage, System.Net.Http",
    "Version": "1.1",
    "Content": {
      "$id": "2",
      "$type": "System.Net.Http.StringContent, System.Net.Http",
      "Headers": [
        {
          "Key": "Content-Type",
          "Value": [
            "application/json; charset=utf-8"
          ]
        }
      ]
    },
    "StatusCode": "OK",
    "ReasonPhrase": "OK",
    "Headers": [],
    "TrailingHeaders": [],
    "RequestMessage": null,
    "IsSuccessStatusCode": true
  }
  </code></pre>
  
  <p>It is interesting to note that the value is not even in there!</p>
  
  <p>I am running some interesting JSON Serialization to make BreezeJs work with .NET Core.  It is possible that it is the cause of this weirdness:</p>
  
  <pre><code>.AddNewtonsoftJson(opt =&gt;
  {
     // Let Breeze say how we serialize.  This adds in the Type and Id options the way breeze expects
     var jsonSerializerSettings = JsonSerializationFns.UpdateWithDefaults(opt.SerializerSettings);
     ......
  </code></pre>
  
  <p>I am hoping for a way to get strings through without all this mess.  Can that be done?</p>