Using Type T for making C# Method Calls More Flexible

I often find myself getting lazy and making multiple entry points for a method when I really should spend an extra 30 seconds and use the Type T pattern in C#.  Below are the two calls I had and when I started writing the one that returns int, I decided enough was enough.

private static bool GetWorkshopTopLevelPropertyBool(JToken jToken, string attr2)
    return jToken["workshopResults"][attr2].Value();

private static string GetAttendeeInfoString(JToken jToken, string attr)
    return jToken["attendeeResults"][attr].Value();

Here is the generalized verison of the same code but only has to be written once.

private static T GetAttendeeInfo(JToken jToken, string attr)
    return jToken["attendeeResults"][attr].Value();


Parsing NewtonSoft JToken Inside WebAPI Call

One of the simplest ways to POST data from a JavaScript app (such as Angular or JQuery) to a Microsoft ASP.NET WebAPI endpoint is simply to post JSON data.  There is a lot of magic that happens to try and match up the POST data you are calling with to the WebAPI call and it often feels like there is no reason why some calls work and some don’t.

My experience is that it’s easier to just process generic JSON on the WebAPI side and not worry about the shape of the data until after it arrives on your WebAPI endpoint.  Darrell Miller has a very helpful article that demystifies that data and give a very clear way to get that JSON to your WebAPI endpoint as a NewtonSoft JToken.  Darrel leaves out what to do with the JToken so I thought I’d fill in some of those details.

Here is the WebAPI code from Darrell’s article that you can use to get JSON into your WebAPI endpoint:

Let me give an example of processing the jsonbody which is JToken.  It’s actually pretty simple if you use c# indexers.  My example is pretty ugly with goofy variable names but it is what I used just to understand how to parse it. Obviously you’d never use code like this in production but it’s pretty clear what really needs to be done from this.

Here is some basic JSON to parse:

And here is the code to parse the JToken


My Pluralsight ASP.NET Multi-tenant Course in Top 10

Two weeks ago my 4th course on Pluralsight released and for the past few days it has been in the top 10.  If you have not had a chance to look at it, check it out.  I’m particularly proud of the introduction which has flying super hero’s!


Check it out the intro here

And the full course here.


Showing WebAPI Validation Errors with ExtJS 6

Let’s say you use model validation with ASP.NET WebAPI and you are serving a client side application written in Sencha’s ExtJS.  To show those errors like this:


You need to add a ValidationActionFilter to your startup code as follows:

And then, you can have your ExtJS code do something like the following to display the error:

And you can run it yourself at the Sencha Fiddle:


Plugin by Social Author Bio


Get every new post delivered to your Inbox

Join other followers: