Many non-REST APIs work with POST requests even for reading data: GraphQL, SOAP and other RPC-APIs being typical examples. However, POST requests cannot be cached and used offline in a Progressive Web App out of the box. The browser's Cache API simply will not accept them. Here is a workaround using a custom cache in InexedDB.