Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Cross Platform WebAPIs with ASP.NET Core
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Fabian Gosebrink
October 22, 2017
Technology
92
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Cross Platform WebAPIs with ASP.NET Core
Slides for my talk about Cross Platform WebAPIs with ASP.NET Core
Fabian Gosebrink
October 22, 2017
More Decks by Fabian Gosebrink
See All by Fabian Gosebrink
Advanced Signal Store: Structuring State for Real Angular Applications
fabiangosebrink
0
79
NgRx Signal Store - A Deeper Dive
fabiangosebrink
0
55
Modern Angular Apps in 2026
fabiangosebrink
0
95
Why State is the Most Important Part of Your Angular Application
fabiangosebrink
0
130
Angular testing made easy with Jest and Cypress
fabiangosebrink
0
160
Introducing state management into an application with NgRx
fabiangosebrink
0
240
Scalable architectures in Angular with Nx
fabiangosebrink
0
220
My Biggest Angular Mistakes and How To Avoid Them
fabiangosebrink
0
330
[iJS Munich] Better Angular Architectures with Libraries and Nx
fabiangosebrink
0
220
Other Decks in Technology
See All in Technology
PostgreSQL 19 新機能概要 OSC Hokkaido 2026
nori_shinoda
0
140
秘密度ラベル初心者が第1歩でつまづかないための「設計・運用」ポイント
seafay
PRO
0
210
Kiro Ambassador を目指す話
k_adachi_01
0
110
AIネイティブな開発のサプライチェーンリスク対策 〜激動の開発現場でリスクに立ち向かう〜【ZennFes】
cscengineer
PRO
2
140
マルチアカウント環境での コーディングエージェントを使った障害調査が大変なので AIエージェントにReadOnly権限を付与してみた / ReadOnly AI Agents for Multi-Account AWS Incident Response
yamaguchitk333
2
110
SteampipeとExcel Power QueryでAWS構成定義書の作成を自動化する
jhashimoto
0
160
AIはどのように 組織のアジリティを変えるのか?
junki
4
1k
AI-DLCを “そのまま導入しなかった”話 ~組織に合わせてアジャストした 私たちの実践共有~
hiroramos4
PRO
0
210
SONiCの統計情報を取得したい
sonic
0
230
サイバーエージェントにおけるAI推進戦略と変革への取り組み
shotatsuge
0
130
【2026年版】 ベクトル検索とEmbedding最前線
mocobeta
16
4.4k
入門!AWS Blocks
ysuzuki
1
160
Featured
See All Featured
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
170
Mobile First: as difficult as doing things right
swwweet
225
10k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
54k
For a Future-Friendly Web
brad_frost
183
10k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
320
Designing Experiences People Love
moore
143
24k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
320
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
360
Being A Developer After 40
akosma
91
590k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
950
Measuring & Analyzing Core Web Vitals
bluesmoon
9
870
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
Transcript
None
with Cross Platform WebAPIs ASP.NET Core
None
None
@FabianGosebrink
None
What is ASP.NET Core?
MVC + WebAPI + Web Pages ASP.NET Core
None
Faster Deployment Cycles
None
Tooling
DOTNET CLI fabian gosebrink
class Program { static void Main(string[] args) { Console.WriteLine("Hello World!");
} }
DOTNET CLI fabian gosebrink
public class Program { public static void Main(string[] args) {
BuildWebHost(args).Run(); } public static IWebHost BuildWebHost(string[] args) => WebHost.CreateDefaultBuilder(args) .UseStartup<Startup>() .Build(); }
Program.cs 1. public class Program 2. { 3. public static
void Main(string[] args) 4. { 5. BuildWebHost(args).Run(); 6. } 7. 8. public static IWebHost BuildWebHost(string[] args) => 9. WebHost.CreateDefaultBuilder(args) 10. .UseStartup<Startup>() 11. .Build(); 12. }
public class Program { public static void Main(string[] args) {
var host = new WebHostBuilder() .UseKestrel() .UseContentRoot(Directory.GetCurrentDirectory()) .UseIISIntegration() .UseStartup<Startup>() .Build(); host.Run(); } }
Dependency Injection
Startup.cs 1. public class Startup 2. { 3. public Startup(IConfiguration
configuration) 4. { 5. Configuration = configuration; 6. } 7. 8. public IConfiguration Configuration { get; set; } 9. 10. public void ConfigureServices(IServiceCollection services) 11. { 12. services.AddOptions(); 13. services.AddCors(...); 14. 15. services.AddSingleton<IFoodRepository, FoodRepository>();
Kestrel
None
REST
What is Rest?
Rest is not WebAPI
Rest is not HTTP
None
Architectural Style
Rest Constraints
Richardson Maturity Model
None
STATUSCODES
2XX
4XX
5XX
GET /api/orders/ GET /api/orders/1 POST /api/orders/ PUT /api/orders/1
The Controller 1. [Route("api/[controller]")] 2. public class FoodController : Controller
3. { 4. private readonly IFoodRepository _foodRepository; 5. 6. public FoodController(IFoodRepository foodRepository) 7. { 8. _foodRepository = foodRepository; 9. } 10. 11. [HttpGet] 12. public IActionResult Get() 13. { 14. ICollection<FoodItem> foodItems = _foodRepository.GetAll(); 15. IEnumerable<FoodItemDto> dtos = foodItems
Documentation SWAGGER
None
VERSIONING
document.docx
document- nal.docx
document- nal- nal.docx
document-really- nal.docx
document-really- nal-end-of- discussion.docx
document-really- nal-approved-by- customer.docx
document-really- nal-approved-by- customer-with- alterations- suggested-by-his- assistant.docx
document-really- nal- approved-by-customer- with-alterations- suggested-by-his- assistant-and-his-wife- cause-apparently-she- thinks-she-knows-all- about-good-api-design
document-really- nal- approved-by-customer- with-alterations- suggested-by-his- assistant-and-his-wife- cause-apparently-she- thinks-she-knows-all-
None
API-VERSION: 2.0 /API/V2/HOUSES
DEMO
/api/houses?page=4&pageSize=10
/api/houses?orderby=Id
/api/houses?fields=street,number
SignalR
None
None
None
Le Fin
@FabianGosebrink https://swissangular.com https://github.com/FabianGosebrink https://github.com/FabianGosebrink/AS WebAPI-Sample
Resources https://www.thefamouspeople.com/pro les/images/og-donald_trump_ ag.jpg https://timedotcom. les.wordpress.com/2017/07/gettyimages-810247620.jpg?w=720&quality=85 https://media.giphy.com/media/xUPOqFfyBzvODVNTNu/giphy.gif https://cdn.vox- cdn.com/thumbor/5BOvGGpVyW4hSPLTAEYvHng6JlQ=/0x0:2931x1649/1200x800/ lters:focal(1239x265:1707x733)/c
cdn.com/uploads/chorus_image/image/55610995/GettyImages_810247620.0.jpg https://media.giphy.com/media/1BXa2alBjrCXC/giphy.gif http://img0.joyreactor.com/pics/post/photo-india-it-programmer-548432.jpeg