You are viewing content from a past/completed QCon

Workshop: [SOLD OUT] Building and Architecting Web APIs with ASP.NET Core 2.1

Duration: 1:00pm - 4:00pm

Day of week: Thursday

Level: Beginner

Key Takeaways

  • Learn about ASP.NET Core, where it came from and how to start using it for web and API development

  • Learn how to use ASP.NET Core Web API's built-in dependency injection for more robust and easier to maintain projects.

  • Learn how to create routes for your API calls with the MVC pattern.

  • Learn how to work with domain models and data in your API along with caching.

  • Learn how to test and debug your ASP.NET Core Web API solution.

  • Learn advanced architecture techniques in ASP.NET Core Web API

Prerequisites

Strongly recommended that you have some knowledge of the following:

  • C# and .NET Core or .NET Framework
  • LINQ
  • Entity Framework
  • Microsoft SQL Server
  • ASP.NET MVC

You will need the following software installed on your machine.

  • Your favorite .NET IDE
  • .NET Core 2.1
  • Microsoft SQL Server or Windows Azure or AWS account for MSSQL
  • An HTTP debugging tool like Fiddler or Postman
  • Git

Web APIs drive the most popular and powerful web and mobile apps—making the developer who can build a robust web API a developer that's in demand. Get started creating your own with ASP.NET Core, the open-source framework for Windows, macOS, and Linux.

You know you have to have a great experience when you develop your apps, right? The greatest experience for your user's centers around their data. That’s why developing a great set of Web APIs is so important. Using ASP.NET Core Web API is a modern framework for the modern web. The secret to it all is knowing how to architect your Web APIs for the best experience.

Using the architectures (N-Tier and Hexagonal) taught in this talk allows your APIs specifically to work better due to:

  • Allowing a clear decoupling of the API endpoints, Data Access (Synthetic or Production) and finally the Data Domain classes.
  • The API Endpoints (Controllers) have no knowledge or responsibility of Data Domain and behind it Data Access
  • Because of the decoupling and separation of responsibilities testing can be done easily and without issues.
  • Data Access segments of the architecture can easily be switched out without impacting the Domain or API Endpoints.

By using these architectures not only does the development story become easier but your end users get a much more stable API set to consume. The talk will explain and get you started on using these concepts with your ASP.NET Core 2.1 Web API solutions.

We will be building an API for an online music store during this workshop.

Speaker: Chris Woodruff

Developer Advocate @Jetbrains

Chris Woodruff (or Woody as he is commonly known as) has a degree in Computer Science from Michigan State University’s College of Engineering. Woody has been developing and architecting software solutions for over 20 years and has worked in many different platforms and tools. He is a community leader, helping such events as GRDevNight, GRDevDay, West Michigan Day of .NET and Beer City Code. He was also instrumental in bringing the popular Give Camp event to Western Michigan where technology professionals lend their time and development expertise to assist local non-profits. As a speaker and podcaster, Woody has spoken and discussed a variety of topics, including database design and open source. He has been a Microsoft MVP in Visual C#, Data Platform and SQL and was recognized in 2010 as one of the top 20 MVPs world-wide. Woody is a Developer Advocate for JetBrains and evangelizes .NET, .NET Core and JetBrains' products in North America.

Find Chris Woodruff at

Proposed Tracks

  • Building High-Performing Teams

    Building, maintaining, and growing a team balanced for skills and aptitudes. Constraint theory, systems thinking, lean, hiring/firing and performance improvement

  • Software Defined Infrastructure: Kubernetes, Service Meshes & Beyond

    Deploying, scaling and managing your services is undifferentiated heavy lifting. Hear stories, learn techniques and dive deep into what it means to code your infrastructure.

  • Practices of DevOps & Lean Thinking

    Practical approaches using DevOps and a lean approach to delivering software.

  • Operationalizing Microservices: Design, Deliver, Operate

    What's the last mile for deploying your service? Learn techniques from the world's most innovative shops on managing and operating Microservices at scale.

  • Developer Experience: Level up your Engineering Effectiveness

    Improving the end to end developer experience - design, dev, test, deploy and operate/understand.

  • Architectures You've Always Wondered About

    Next-gen architectures from the most admired companies in software, such as Netflix, Google, Facebook, Twitter, & more

  • Machine Learning without a PhD

    AI/ML is more approachable than ever. Discover how deep learning and ML is being used in practice. Topics include: TensorFlow, TPUs, Keras, PyTorch & more. No PhD required.

  • Production Readiness: Building Resilient Systems

    Making systems resilient involves people and tech. Learn about strategies being used from chaos testing to distributed systems clustering.

  • Building Predictive Data Pipelines

    From personalized news feeds to engaging experiences that forecast demand: learn how innovators are building predictive systems in modern application development.

  • Modern Languages: The Right Language for the Job

    We're polyglot developers. Learn languages that excel at very specific tasks and remove undifferentiated heavy lifting at the language level.

  • Delivering on the Promise of Containers

    Runtime containers, libraries and services that power microservices.

  • Evolving Java & the JVM

    6 month cadence, cloud-native deployments, scale, Graal, Kotlin, and beyond. Learn how the role of Java and the JVM is evolving.

  • Trust, Safety & Security

    Privacy, confidentiality, safety and security: learning from the frontlines.

  • Beyond the Web: What’s Next for JavaScript

    JavaScript is the language of the web. Latest practices for JavaScript development in and out of the browser topics: react, serverless, npm, performance, & less traditional interfaces.

  • Modern Operating Systems

    Applied, practical & real-world deep-dive into industry adoption of OS, containers and virtualization, including Linux on.

  • Optimizing You: Human Skills for Individuals

    Better teams start with a better self. Learn practical skills for IC.

  • Modern CS in the Real World

    Thoughts pushing software forward, including consensus, CRDT's, formal methods & probabilistic programming.

  • Human Systems: Hacking the Org

    Power of leadership, Engineering Metrics and strategies for shaping the org for velocity.