The module contains a field type which provides 1:1 reflection of "path" property (defined in entities to determine their human-readable URL alias).
Why would I need "path" property as a field?
Some headless Drupal successors (like JSON API) do not provide a way to filter entities by "path" property due to technical limitations (See [#2799909]).
It means that if you'd want to implement a dynamic routing from your frontend application (something more human-readable than just /article/[id]) then your app has to know which entity to render when an end user hits /article/[path] page. So far the only way to achieve this is to filter entities by path stored as a field.
Usage
- Install the module as usual
- Add "Fieldable Path" field to your entity through "Manage fields" page
- Create or update any entity
Now you can do the following (assuming you've added the field to "article" node with name "field_path"):
GET http://{host}/jsonapi/node/article?filter[field_path][value]=/my-article
Note that Pathauto is supported, so you can get all power of Drupal to generate human-readable aliases for your frontend application.
What to do if your site already has some content?
The module includes an action which clones path property to the field in a bulk mode. To find it, go to the node / user list page, select necessary items and pick "Copy path to Fieldable Path field" in the action selection dropdown.