SKILL BENCHMARK

Python API Development Proficiency (Advanced Level)

  • 18m
  • 18 questions
The Python API Development Proficiency (Advanced Level) benchmark measures your ability to implement end-to-end CRUD operations, integrate API code with MySQL database back ends, and customize JSON responses to clients. You will be evaluated on your ability to integrate a molten application with a database and use OpenAPI specifications to generate documentation for your app. A learner who scores high on this benchmark demonstrates that they have the skills to integrate anAPI server with a MySQL database and work with advanced molten features.

Topics covered

  • add a middleware layer into your app to verify authorization information in HTTP request headers
  • build a Molten application which returns an HTTP Response containing binary data
  • configure JSON responses with special display names
  • connect to a SQLite database using the python sqlite3 library and define SQL queries to run against that database from your Molten app
  • create an OpenAPIHandler instance which dynamically generates documentation for your Molten application
  • create custom error messages for specific error handling using MySQL Database and Flask-RESTful
  • implement a complete API server using Flask-RESTful, which responds to GET, POST, PUT, and DELETE requests
  • install the Advanced REST Client, an API testing tool to test APIs and validate responses
  • install the SQLAlchemy library, connect to a database, and insert records in the database
  • read data from a database when a GET request is submitted to your Molten app
  • specify nested fields and URL paths within JSON responses
  • test create, read, update, and delete (CRUD) operations using Flask-RESTful
  • use Molten's HTTPSecurityScheme to enable the use of authorization from the Swagger UI
  • use the envelope parameters to structure the JSON response to the user
  • use the marshal() function, marshal_with, and data_class decorators to serialize an object to JSON format
  • wire up the methods to add and retrieve data with the MySQL database
  • wire up the method to update data with the MySQL database
  • wire up your Molten application so that the data passed in through POST requests is written out to a SQLite database