We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

NDC Oslo 2015 - The rest of ReST

00:00

Formal Metadata

Title
NDC Oslo 2015 - The rest of ReST
Title of Series
Number of Parts
163
Author
License
CC Attribution - NonCommercial - ShareAlike 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
So you've built your ReSTful API. You've had lengthy debates with your team about exactly what HTTP POST means, you know your GET from your PUT and you understand why HTTP methods aren't really the same as CRUD operations. So far, so good. But now you're dealing with a whole new set of problems. Do you really need to PUT the entire Customer just to change someone's email address? Why does it take you 25 API calls just to render a shopping cart? How do you find the bottlenecks when just drawing a web page requires fifty HTTP requests? What's going to happen to your database when one of your API consumers accidentally tries to retrieve the entire customer list?In this talk, we'll look at the challenges of building usable real-world ReST APIs. We'll look at Hypertext Application Language (HAL), and the conventions for extending basic JSON data to include references, cross-resource links and paginated result sets. We'll discuss HTTP PATCH, and how to implement it properly. We'll look at inline resource expansion, and how it can reduce load on your servers AND speed up your client applications. We'll look at how you can implement these techniques in popular .NET API frameworks like WebAPI, ServiceStack and NancyFX. We'll see how tools like Apiary and Swagger can help you design, build and support APIs, and we'll discuss the challenges of API versioning and how you can upgrade your APIs without breaking your client apps and upsetting your customers.
Representational state transferConstraint (mathematics)SoftwareTerm (mathematics)Time evolutionPhysical systemCodeServer (computing)Client (computing)Cache (computing)Interface (computing)HypermediaLimit (category theory)Field (computer science)Physical systemRight angleSoftwareScaling (geometry)Relational databaseSoftware architectureSet (mathematics)Goodness of fitStandard deviationServer (computing)CodePatch (Unix)MathematicsSpecial unitary groupBuildingSound effectSoftware frameworkWeb browserWeb 2.0Level (video gaming)Computer programmingLaptopCartesian coordinate systemClient (computing)HypermediaBitRepresentational state transferScripting languageCache (computing)Moment (mathematics)Interface (computing)QuicksortProxy serverJava appletCASE <Informatik>Pointer (computer programming)Computing platformAreaPoint (geometry)Projective planeMultiplication signVirtual machinePattern languageProduct (business)State of matterRule of inferenceMechanism designTerm (mathematics)Representation (politics)Electronic mailing listUniformer RaumNeuroinformatikInstance (computer science)PlanningVideo projector1 (number)Software design patternHacker (term)Web applicationJSON
VacuumIcosahedronUser profileTwitterLocal GroupFile formatFacebookInterior (topology)Attribute grammarParameter (computer programming)View (database)Dependent and independent variablesExecution unitQuarkQuicksortDemo (music)Rapid PrototypingSparse matrixWeb 2.0Cycle (graph theory)FrequencyWebsiteRepresentational state transferCodePrototypeRight angleObject (grammar)Front and back endsSemantics (computer science)Line (geometry)Profil (magazine)Parameter (computer programming)Server (computing)Uniform resource locatorMathematicsHome pageBuildingFeedbackComputer fontProduct (business)Shape (magazine)Validity (statistics)Proxy serverArithmetic progressionAttribute grammarFacebookTwitterComputer configurationCASE <Informatik>Video game consoleProcess (computing)Computer animation
Data typeContent (media)TwitterDatabaseBand matrixHome pageHypermediaRepresentational state transferConstraint (mathematics)1 (number)TwitterHome pageContent (media)User profileMultiplication signWebsiteRepresentational state transferOperator (mathematics)Profil (magazine)Row (database)Sign (mathematics)System callScalabilityAdventure gameClient (computing)Cartesian coordinate systemPhysical systemQuicksortNumberRight angleHypermediaTerm (mathematics)Representation (politics)Computer configurationMereologyPoint (geometry)Scaling (geometry)DatabaseIdeal (ethics)Data miningMusical ensembleComputer animation
Home pageAdventure gameMusical ensembleReading (process)Rule of inferenceAxiom of choiceRight angleRepresentation (politics)Home pageAdventure gameHypermediaLimit (category theory)Latent heatPoint (geometry)Social classUniform resource locatorHyperlinkLink (knot theory)File formatComputer animation
HyperlinkTwitterMessage passingRepresentational state transferDatabaseBand matrixHome pageEmailWebsiteDigital photographyBitElectronic mailing listStandard deviationEmailWhiteboardUniform resource locatorAssociative propertyDifferent (Kate Ryan album)Latent heatMereologyComputer wormImplementationGoodness of fitState of matterThermal expansionNumberQuery languageTrailString (computer science)Link (knot theory)Home pageHypermediaPoint (geometry)QuicksortOperator (mathematics)RoutingConnected spaceWebsiteProfil (magazine)Confluence (abstract rewriting)Virtual machineProduct (business)System callServer (computing)Object (grammar)Object-relational mappingElement (mathematics)HyperlinkMechanism designPhysical systemWeb applicationBand matrixFacebook1 (number)Einbettung <Mathematik>Limit (category theory)Connectivity (graph theory)Social classDiscrete groupHypercubeAtomic numberCartesian coordinate systemFile formatNumbering schemeElectronic program guideResultantClient (computing)DatabaseDependent and independent variablesReverse engineeringRepresentational state transferSet (mathematics)Arithmetic meanWeightMathematicsDomain-specific languageRootWeb pageProcess (computing)Expandierender GraphShared memoryFrequencyCASE <Informatik>Computer programmingSpectrum (functional analysis)ArmType theoryVideo gameDemosceneComputer animation
TwitterEmailWebsiteData typeContent (media)Revision controlOnline helpUser profileFile formatHypermediaPatch (Unix)Representational state transferComputer-generated imageryAddress spaceComputer virusCodeInternetworkingField (computer science)Physical systemMathematicsServer (computing)Patch (Unix)Type theoryContent (media)Cartesian coordinate systemSoftware testingOperator (mathematics)Point (geometry)BitConcurrency (computer science)Differenz <Mathematik>AuthorizationProfil (magazine)Complete metric spaceMereologySubject indexing1 (number)Right angleData structureRevision controlCurvatureSystem callMechanism designLikelihood functionLatent heatInternetworkingSet (mathematics)NumberGoodness of fitIdentifiabilityTouchscreenNoise (electronics)Message passingQuicksortGraph (mathematics)Instance (computer science)Web browserWeb 2.0Entire functionDescriptive statisticsImplementationTerm (mathematics)Speech synthesisEmailRing (mathematics)SoftwareAreaService (economics)Order (biology)String (computer science)Arithmetic meanState of matterProcess (computing)Drop (liquid)PlotterBuildingService-oriented architectureJSON
Scale (map)Representational state transferSoftwareComputer fileRevision controlUser profileEmailBranch (computer science)Server (computing)Data conversionDifferent (Kate Ryan album)Maxima and minimaSoftware engineeringElectronic signatureCASE <Informatik>WebsiteSoftware developerMathematical analysisProfil (magazine)EmailFlash memoryMechanism designBlogScripting languageClient (computing)Right angleMultiplication signProduct (business)Process (computing)Physical systemRevision controlAttribute grammarCodeTwitterService (economics)Mobile appWindowComa BerenicesMetropolitan area networkFile formatWeb browserSound effectWeb 2.0Server (computing)Cartesian coordinate systemFacebookMedical imagingSoftwareRoundness (object)QuicksortRepresentation (politics)Parameter (computer programming)Interpreter (computing)Physical lawStability theoryControl flowLogicScaling (geometry)Uniform resource locatorVideo game1 (number)Point (geometry)HypermediaCuboidBranch (computer science)Self-organizationRootBuildingGame controllerSingle-precision floating-point formatRepresentational state transferGoodness of fitFront and back endsMathematicsDigital photographyIdentifiabilitySoftware bugDomain-specific languageSubsetSerial portSource codeSlide ruleMobile WebRoutingType theoryApplication service providerComputer animation
Revision controlServer (computing)Link (knot theory)Mobile WebNeuroinformatikInformation securityService (economics)EmailWebsiteComa BerenicesExecution unitState of matterNumberPresentation of a groupStandard deviationMessage passingProfil (magazine)Equaliser (mathematics)Physical systemPasswordDegree (graph theory)Hacker (term)Mobile appJSON
AnalogyDampingSet (mathematics)CuboidCryptographyBuildingInformation securityLatent heatThomas BayesCommunications protocolTerm (mathematics)Goodness of fitLine (geometry)AuthorizationDataflowFacebookPhysical systemCodeWeb pageKey (cryptography)LoginStandard deviationWeightEnterprise architectureSoftware bugServer (computing)Mobile WebComputer animation
Link (knot theory)PasswordHome pageCrash (computing)Virtual machineCodeConvex hullHydraulic jumpThomas BayesHome pageDatabase transactionPoint (geometry)Time zonePhysical lawLink (knot theory)Electronic mailing listRight angleComa BerenicesSoftware developerWebsiteDifferent (Kate Ryan album)BitBit rateServer (computing)Address spaceVirtual machineCartesian coordinate systemWindowPhysical systemLaptopTelecommunicationCuboidWorkstation <Musikinstrument>Office suiteArmMultiplication signDirection (geometry)AuthorizationInternet service providerKey (cryptography)CASE <Informatik>Uniform resource locatorCodeEmailFormal languageClient (computing)Data storage deviceDatabaseQuicksortPattern languageGoodness of fitINTEGRALDependent and independent variablesProfil (magazine)InternetworkingEntire functionWeightVideoconferencingDebuggerImplementationVisualization (computer graphics)Token ringLoginDiagram
Normed vector spaceDemo (music)Hill differential equationFormal languageNP-hardUniform resource locatorProcess (computing)Descriptive statisticsVisualization (computer graphics)DebuggerService (economics)InternetworkingMathematical optimizationWeb pageInternet service providerMobile WebQuicksortMobile appExistential quantificationAdditionComputer clusterMultiplication signBitWindowWorkstation <Musikinstrument>Virtual machineEnterprise architectureRight angleDemo (music)Computer fontCartesian coordinate systemComputer animation
Interface (computing)Computer virusMusical ensembleExecution unitConvex hullHydraulic jumpLinear multistep methodJava appletDuality (mathematics)Maxima and minimaGamma functionPLS (file format)Software testingTwin primeEmailService (economics)Client (computing)Uniform resource locatorCodeLimit (category theory)Menu (computing)Electronic data interchangeFormal languageHill differential equationControl flowFormal languageRight angleRoyal NavyControl flowProcess (computing)Point (geometry)Web browserRootGraphics tabletRow (database)Hydraulic jumpClient (computing)Video gameSystem callMultiplication signTwitterDemo (music)ArmNeuroinformatikProxy serverBuffer overflowTouch typingSet (mathematics)Dependent and independent variablesFamilyExecution unitUniform resource locatorTrailSoftware bugDebuggerCuboid2 (number)Type theoryComputer animation
Representation (politics)WeightHypermediaRepresentational state transferField (computer science)Latent heatScaling (geometry)Multiplication signRight angleBlogComputer clusterAreaBodenwelleGroup actionDrop (liquid)QuicksortNatural numberNumbering schemeSoftware frameworkPhysical systemGrass (card game)BuildingHypermediaRepresentation (politics)Revision controlOpen setRaster graphicsOnline help
Transcript: English(auto-generated)