{"id":23,"date":"2022-10-13T23:23:35","date_gmt":"2022-10-13T23:23:35","guid":{"rendered":"https:\/\/blogs.oregonstate.edu\/cozycoder\/?p=23"},"modified":"2022-10-13T23:23:35","modified_gmt":"2022-10-13T23:23:35","slug":"building-an-api-with-net","status":"publish","type":"post","link":"https:\/\/blogs.oregonstate.edu\/cozycoder\/2022\/10\/13\/building-an-api-with-net\/","title":{"rendered":"Building an API with .Net"},"content":{"rendered":"\n<p>Here we go, ya&#8217;ll &#8211; time to learn another language &#8211; C# \/.Net. I&#8217;m currently working on a project where the legacy code is written in C# and, in a moment of personal growth, I decided to learn another new  language to write the needed API endpoints rather than trying to use Python.NET. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"427\" src=\"https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/5899\/files\/2022\/10\/khaled-1024x427.jpeg\" alt=\"\" class=\"wp-image-24\" srcset=\"https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/5899\/files\/2022\/10\/khaled-1024x427.jpeg 1024w, https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/5899\/files\/2022\/10\/khaled-300x125.jpeg 300w, https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/5899\/files\/2022\/10\/khaled-768x320.jpeg 768w, https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/5899\/files\/2022\/10\/khaled-1536x640.jpeg 1536w, https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/5899\/files\/2022\/10\/khaled-2048x853.jpeg 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption>Anotha one (programming language)<\/figcaption><\/figure>\n\n\n\n<p>I decided to go this route for a few reasons: 1) My love for Python is a personal preference, not a business need; 2) By now I know that, every time you add a layer of complexity, you increase the difficulty of troubleshooting exponentially. The project in question is a web app so I&#8217;m not too concerned with .NET&#8217;s capability for cross-platform support or security features but the documents and developer blogs are convincing regarding its scalability &#8211; reportedly it is easy to add more servers to help distribute load. Our plan for deployment doesn&#8217;t have me too worried about scalability but this gives some piece of mind.<\/p>\n\n\n\n<p>The big concern for me will be compatibility with some of the tools we have to use &#8211; Open Street Maps and a TBD frontend tool for map display. These things are notoriously slow to load and display and lack of speed could kill the desirability of the product. I also want to make sure we are keeping things as modular as possible &#8211; our current requirements include relatively basic features and no use of real-time data so, if it is successful, I think it is likely that more interactivity and data specificity will be demanded.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Here we go, ya&#8217;ll &#8211; time to learn another language &#8211; C# \/.Net. I&#8217;m currently working on a project where the legacy code is written in C# and, in a moment of personal growth, I decided to learn another new language to write the needed API endpoints rather than trying to use Python.NET. I decided &hellip; <a href=\"https:\/\/blogs.oregonstate.edu\/cozycoder\/2022\/10\/13\/building-an-api-with-net\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Building an API with .Net<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":12652,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-23","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blogs.oregonstate.edu\/cozycoder\/wp-json\/wp\/v2\/posts\/23","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.oregonstate.edu\/cozycoder\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.oregonstate.edu\/cozycoder\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/cozycoder\/wp-json\/wp\/v2\/users\/12652"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/cozycoder\/wp-json\/wp\/v2\/comments?post=23"}],"version-history":[{"count":1,"href":"https:\/\/blogs.oregonstate.edu\/cozycoder\/wp-json\/wp\/v2\/posts\/23\/revisions"}],"predecessor-version":[{"id":25,"href":"https:\/\/blogs.oregonstate.edu\/cozycoder\/wp-json\/wp\/v2\/posts\/23\/revisions\/25"}],"wp:attachment":[{"href":"https:\/\/blogs.oregonstate.edu\/cozycoder\/wp-json\/wp\/v2\/media?parent=23"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/cozycoder\/wp-json\/wp\/v2\/categories?post=23"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/cozycoder\/wp-json\/wp\/v2\/tags?post=23"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}