Ett sätt att utveckla webbapplikationer är att göra det i två delar. Dels ett API, dels en klient. Denna rapport fokuserar på JSON-API:er och på att hitta en lösning för att identifiera kritiska ändringar i JSON-meddelanden innan de påverkar sin avseddaklient på ett oönskat sätt. En fallstudie är genomförd hos ett företag som utvecklar sina webbapplikationer i två delar. Resultatet är en utvecklad webbapplikation (ett verktyg) som löser problemet genom att spela in API-förfrågningar som repeteras mot flera olika versioner av API:et. Versionstaggade svar samlas in och jämförs mot varandra med olika avseenden. Webbapplikationen (verktyget) lyckas på ett tillfredställande sätt identifiera kritiska ändringar i JSON-meddelanden. Detta verifieras med hjälp av ett test-API, och bekräftar därmed examensarbetets hypotes. För att kunna testa ett API, vars bakomliggande applikation är stateful, förväntas den applikationen vara återställd till ett standardiserat tillstånd inför varje användning av verktyget. Detta är en begränsning. Det finns en utvecklingspotential i att få verktyget att fungera även mot autentiserade API:er. / One way of developing web applications is in two parts, where one part is an API and the other part is the client. This report focuses on JSON APIs and on finding a solution for identifying breaking changes in JSON messages before they affect their intended client in undesirable ways. A case study has been carried out at a company that develops their web applications in two parts. The result is a web application (a tool) that solves the problem by recording API requests that are then replayed against different versions of the API. Version tagged responses are collected and compared against each other by different aspects. The web application (the tool) succeeds in identifying breaking changes in JSON messages. This is verified using a test API, which in turn verifies the thesis’ hypothesis. To test an API, whose underlying application is stateful, that application is expected to be reset to a standardized state before each use of the tool. This is a limitation. There is potential for future development in getting the tool work against authenticated APIs.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:kth-267252 |
Date | January 2019 |
Creators | Bentersten, William |
Publisher | KTH, Hälsoinformatik och logistik |
Source Sets | DiVA Archive at Upsalla University |
Language | Swedish |
Detected Language | Swedish |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Relation | TRITA-CBH-GRU ; 2019:132 |
Page generated in 0.0015 seconds