Commit 2bc0005d authored by Olivier Berger's avatar Olivier Berger
Browse files

Cleanup

parent 89b18e09
<!DOCTYPE html>
<html lang="en">
<head>
<!-- 2018-05-14 lun. 16:02 -->
<!-- 2018-05-14 lun. 16:05 -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Todo-Backend example implementation with Symfony 4 and api-platform</title>
......@@ -61,35 +61,35 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#org1ac133f">1. Testing it live</a></li>
<li><a href="#org8f4a207">2. Test locally</a>
<li><a href="#org91af2cd">1. Testing it live</a></li>
<li><a href="#org2f58860">2. Test locally</a>
<ul>
<li><a href="#org3c1c563">2.1. Passing TodoBackend tests</a></li>
<li><a href="#org2d1f656">2.1. Passing TodoBackend tests</a></li>
</ul>
</li>
<li><a href="#org2067801">3. Motivation</a></li>
<li><a href="#org10c5e45">4. How it was built</a>
<li><a href="#org95bd0f0">3. Motivation</a></li>
<li><a href="#orge699fef">4. How it was built</a>
<ul>
<li><a href="#orge48ce5f">4.1. Initialisation of the project</a></li>
<li><a href="#orgca22bca">4.2. Adding the model of the Todo application with Doctrine</a></li>
<li><a href="#orgda2f36d">4.3. Add API Platform</a></li>
<li><a href="#orgd0e1eb6">4.4. Tweaking compliance with the TodoBackend API</a>
<li><a href="#orgf3327a3">4.1. Initialisation of the project</a></li>
<li><a href="#org58f630c">4.2. Adding the model of the Todo application with Doctrine</a></li>
<li><a href="#orgc36f41c">4.3. Add API Platform</a></li>
<li><a href="#org32cb3cc">4.4. Tweaking compliance with the TodoBackend API</a>
<ul>
<li><a href="#org19d2533">4.4.1. Installing the test suite and running it</a></li>
<li><a href="#orgde6a60c">4.4.2. Adding default value for completed attribute</a></li>
<li><a href="#org97aa276">4.4.3. Adding DELETE on collection</a></li>
<li><a href="#orgd65980b">4.4.4. Changing default content-type produced to JSON</a></li>
<li><a href="#org3477e91">4.4.5. Adding an url property for the Todo items</a></li>
<li><a href="#org669c2a6">4.4.6. Supporting PATCH request on Todo items</a></li>
<li><a href="#orgcd91616">4.4.7. Fixing the order naming</a></li>
<li><a href="#orgb98f4d3">4.4.1. Installing the test suite and running it</a></li>
<li><a href="#orge5cb4d9">4.4.2. Adding default value for completed attribute</a></li>
<li><a href="#org344d521">4.4.3. Adding DELETE on collection</a></li>
<li><a href="#orge048d8d">4.4.4. Changing default content-type produced to JSON</a></li>
<li><a href="#org2ac8cce">4.4.5. Adding an url property for the Todo items</a></li>
<li><a href="#org34d540a">4.4.6. Supporting PATCH request on Todo items</a></li>
<li><a href="#orgcdb1dc1">4.4.7. Fixing the order naming</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#orgd2b3abf">5. Deploying on heroku</a>
<li><a href="#orgbd548b1">5. Deploying on heroku</a>
<ul>
<li><a href="#orge387423">5.1. Support CORS</a></li>
<li><a href="#orgdc822de">5.2. Tuning Heroku for REST API</a></li>
<li><a href="#org7997f8f">5.1. Support CORS</a></li>
<li><a href="#orgc7b167a">5.2. Tuning Heroku for REST API</a></li>
</ul>
</li>
</ul>
......@@ -101,8 +101,8 @@ with Symfony 4 using the <a href="http://api-platform.com/">api-platform</a>
project.
</p>
<div id="outline-container-org1ac133f" class="outline-2">
<h2 id="org1ac133f"><span class="section-number-2">1</span> Testing it live</h2>
<div id="outline-container-org91af2cd" class="outline-2">
<h2 id="org91af2cd"><span class="section-number-2">1</span> Testing it live</h2>
<div class="outline-text-2" id="text-1">
<p>
You can see a working version at
......@@ -130,8 +130,8 @@ It can be tested with the Todo-Backend tools at
</div>
</div>
<div id="outline-container-org8f4a207" class="outline-2">
<h2 id="org8f4a207"><span class="section-number-2">2</span> Test locally</h2>
<div id="outline-container-org2f58860" class="outline-2">
<h2 id="org2f58860"><span class="section-number-2">2</span> Test locally</h2>
<div class="outline-text-2" id="text-2">
<p>
Clone the project's Git repo (see
......@@ -155,8 +155,8 @@ You can then check the compatibility with the TodoBackend test suite :
</p>
</div>
<div id="outline-container-org3c1c563" class="outline-3">
<h3 id="org3c1c563"><span class="section-number-3">2.1</span> Passing TodoBackend tests</h3>
<div id="outline-container-org2d1f656" class="outline-3">
<h3 id="org2d1f656"><span class="section-number-3">2.1</span> Passing TodoBackend tests</h3>
<div class="outline-text-3" id="text-2-1">
<p>
You can test for todo-backend API compliance, by cloning the
......@@ -181,8 +181,8 @@ You can then connect to
</div>
</div>
<div id="outline-container-org2067801" class="outline-2">
<h2 id="org2067801"><span class="section-number-2">3</span> Motivation</h2>
<div id="outline-container-org95bd0f0" class="outline-2">
<h2 id="org95bd0f0"><span class="section-number-2">3</span> Motivation</h2>
<div class="outline-text-2" id="text-3">
<p>
We've been devising the teaching materials for a class on Web apps
......@@ -210,8 +210,8 @@ Symfony, which I used for inspiration.
</div>
</div>
<div id="outline-container-org10c5e45" class="outline-2">
<h2 id="org10c5e45"><span class="section-number-2">4</span> How it was built</h2>
<div id="outline-container-orge699fef" class="outline-2">
<h2 id="orge699fef"><span class="section-number-2">4</span> How it was built</h2>
<div class="outline-text-2" id="text-4">
<p>
Here are some very raw notes I took when implementing it.
......@@ -222,8 +222,8 @@ At the time of writing, this works with <i>Symfony 4.0.9</i>.
</p>
</div>
<div id="outline-container-orge48ce5f" class="outline-3">
<h3 id="orge48ce5f"><span class="section-number-3">4.1</span> Initialisation of the project</h3>
<div id="outline-container-orgf3327a3" class="outline-3">
<h3 id="orgf3327a3"><span class="section-number-3">4.1</span> Initialisation of the project</h3>
<div class="outline-text-3" id="text-4-1">
<p>
No need for full-fledged web app:
......@@ -308,8 +308,8 @@ Cf. <a href="http://127.0.0.1:8000">http://127.0.0.1:8000</a> for the default Sy
</div>
</div>
<div id="outline-container-orgca22bca" class="outline-3">
<h3 id="orgca22bca"><span class="section-number-3">4.2</span> Adding the model of the Todo application with Doctrine</h3>
<div id="outline-container-org58f630c" class="outline-3">
<h3 id="org58f630c"><span class="section-number-3">4.2</span> Adding the model of the Todo application with Doctrine</h3>
<div class="outline-text-3" id="text-4-2">
<p>
Cf. <a href="https://symfony.com/doc/current/doctrine.html">https://symfony.com/doc/current/doctrine.html</a> for docs explaining
......@@ -534,8 +534,8 @@ bin/console &#x2013;no-ansi doctrine:schema:update &#x2013;force
</div>
</div>
<div id="outline-container-orgda2f36d" class="outline-3">
<h3 id="orgda2f36d"><span class="section-number-3">4.3</span> Add API Platform</h3>
<div id="outline-container-orgc36f41c" class="outline-3">
<h3 id="orgc36f41c"><span class="section-number-3">4.3</span> Add API Platform</h3>
<div class="outline-text-3" id="text-4-3">
<ol class="org-ol">
<li><p>
......@@ -549,47 +549,47 @@ Install the <a href="https://api-platform.com/">api-platform</a> (<a href="https
</ol>
<pre class="example">
Using version ^1.1 for api-platform/api-pack
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 21 installs, 0 updates, 0 removals
- Installing symfony/translation (v4.0.9): Loading from cache
- Installing symfony/validator (v4.0.9): Loading from cache
- Installing twig/twig (v2.4.8): Loading from cache
- Installing symfony/twig-bridge (v4.0.9): Loading from cache
- Installing symfony/twig-bundle (v4.0.9): Loading from cache
- Installing symfony/inflector (v4.0.9): Loading from cache
- Installing symfony/property-access (v4.0.9): Loading from cache
- Installing symfony/security (v4.0.9): Loading from cache
- Installing symfony/security-bundle (v4.0.9): Loading from cache
- Installing symfony/expression-language (v4.0.9): Loading from cache
- Installing symfony/asset (v4.0.9): Loading from cache
- Installing webmozart/assert (1.3.0): Loading from cache
- Installing phpdocumentor/reflection-common (1.0.1): Loading from cache
- Installing phpdocumentor/type-resolver (0.4.0): Loading from cache
- Installing phpdocumentor/reflection-docblock (4.3.0): Loading from cache
- Installing nelmio/cors-bundle (1.5.4): Loading from cache
- Installing willdurand/negotiation (v2.3.1): Loading from cache
- Installing symfony/serializer (v4.0.9): Loading from cache
- Installing symfony/property-info (v4.0.9): Loading from cache
- Installing api-platform/core (v2.2.5): Loading from cache
- Installing api-platform/api-pack (1.1.0): Loading from cache
Writing lock file
Generating autoload files
ocramius/package-versions: Generating version class...
ocramius/package-versions: ...done generating version class
Symfony operations: 5 recipes (4e65598197d35ac240a72e14b210a0df)
=3.3): From github.com/symfony/recipes:master
=3.3): From github.com/symfony/recipes:master
=3.3): From github.com/symfony/recipes:master
=1.5): From github.com/symfony/recipes:master
=2.1): From github.com/symfony/recipes:master
Executing script cache:clear [OK]
Executing script assets:install --symlink --relative public [OK]
Some files may have been created or updated to configure your new packages.
Please review, edit and commit them: these files are yours.
Using version ^1.1 for api-platform/api-pack
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 21 installs, 0 updates, 0 removals
- Installing symfony/translation (v4.0.9): Loading from cache
- Installing symfony/validator (v4.0.9): Loading from cache
- Installing twig/twig (v2.4.8): Loading from cache
- Installing symfony/twig-bridge (v4.0.9): Loading from cache
- Installing symfony/twig-bundle (v4.0.9): Loading from cache
- Installing symfony/inflector (v4.0.9): Loading from cache
- Installing symfony/property-access (v4.0.9): Loading from cache
- Installing symfony/security (v4.0.9): Loading from cache
- Installing symfony/security-bundle (v4.0.9): Loading from cache
- Installing symfony/expression-language (v4.0.9): Loading from cache
- Installing symfony/asset (v4.0.9): Loading from cache
- Installing webmozart/assert (1.3.0): Loading from cache
- Installing phpdocumentor/reflection-common (1.0.1): Loading from cache
- Installing phpdocumentor/type-resolver (0.4.0): Loading from cache
- Installing phpdocumentor/reflection-docblock (4.3.0): Loading from cache
- Installing nelmio/cors-bundle (1.5.4): Loading from cache
- Installing willdurand/negotiation (v2.3.1): Loading from cache
- Installing symfony/serializer (v4.0.9): Loading from cache
- Installing symfony/property-info (v4.0.9): Loading from cache
- Installing api-platform/core (v2.2.5): Loading from cache
- Installing api-platform/api-pack (1.1.0): Loading from cache
Writing lock file
Generating autoload files
ocramius/package-versions: Generating version class...
ocramius/package-versions: ...done generating version class
Symfony operations: 5 recipes (4e65598197d35ac240a72e14b210a0df)
=3.3): From github.com/symfony/recipes:master
=3.3): From github.com/symfony/recipes:master
=3.3): From github.com/symfony/recipes:master
=1.5): From github.com/symfony/recipes:master
=2.1): From github.com/symfony/recipes:master
Executing script cache:clear [OK]
Executing script assets:install --symlink --relative public [OK]
Some files may have been created or updated to configure your new packages.
Please review, edit and commit them: these files are yours.
</pre>
<ol class="org-ol">
......@@ -640,8 +640,8 @@ Here's the JSON-LD produced by default on the empty database:
</div>
<div id="outline-container-orgd0e1eb6" class="outline-3">
<h3 id="orgd0e1eb6"><span class="section-number-3">4.4</span> Tweaking compliance with the TodoBackend API</h3>
<div id="outline-container-org32cb3cc" class="outline-3">
<h3 id="org32cb3cc"><span class="section-number-3">4.4</span> Tweaking compliance with the TodoBackend API</h3>
<div class="outline-text-3" id="text-4-4">
<p>
The goal will be to test that the test suite works, for instance with <a href="http://www.todobackend.com/specs/index.html?http://127.0.0.1:8000/api/todos">http://www.todobackend.com/specs/index.html?http://127.0.0.1:8000/api/todos</a>
......@@ -652,17 +652,17 @@ But that requires CORS support, so we'll test locally first
</p>
</div>
<div id="outline-container-org19d2533" class="outline-4">
<h4 id="org19d2533"><span class="section-number-4">4.4.1</span> Installing the test suite and running it</h4>
<div id="outline-container-orgb98f4d3" class="outline-4">
<h4 id="orgb98f4d3"><span class="section-number-4">4.4.1</span> Installing the test suite and running it</h4>
<div class="outline-text-4" id="text-4-4-1">
<p>
See <a href="#org3c1c563">Passing TodoBackend tests</a> for instructions on how to run the test suite locally.
See <a href="#org2d1f656">Passing TodoBackend tests</a> for instructions on how to run the test suite locally.
</p>
</div>
</div>
<div id="outline-container-orgde6a60c" class="outline-4">
<h4 id="orgde6a60c"><span class="section-number-4">4.4.2</span> Adding default value for completed attribute</h4>
<div id="outline-container-orge5cb4d9" class="outline-4">
<h4 id="orge5cb4d9"><span class="section-number-4">4.4.2</span> Adding default value for completed attribute</h4>
<div class="outline-text-4" id="text-4-4-2">
<p>
We'll change the default values of the <code>completed</code> and <code>todo_order</code>
......@@ -677,8 +677,8 @@ attributes for newly created items:
</div>
</div>
<div id="outline-container-org97aa276" class="outline-4">
<h4 id="org97aa276"><span class="section-number-4">4.4.3</span> Adding DELETE on collection</h4>
<div id="outline-container-org344d521" class="outline-4">
<h4 id="org344d521"><span class="section-number-4">4.4.3</span> Adding DELETE on collection</h4>
<div class="outline-text-4" id="text-4-4-3">
<p>
The DELETE on the collection is added with a custom operation
......@@ -777,8 +777,8 @@ annotation of api-platform :
</div>
</div>
<div id="outline-container-orgd65980b" class="outline-4">
<h4 id="orgd65980b"><span class="section-number-4">4.4.4</span> Changing default content-type produced to JSON</h4>
<div id="outline-container-orge048d8d" class="outline-4">
<h4 id="orge048d8d"><span class="section-number-4">4.4.4</span> Changing default content-type produced to JSON</h4>
<div class="outline-text-4" id="text-4-4-4">
<p>
The default behaviour of the api-platform API, when the collection
......@@ -820,8 +820,8 @@ JSON is the default:
</div>
</div>
</div>
<div id="outline-container-org3477e91" class="outline-4">
<h4 id="org3477e91"><span class="section-number-4">4.4.5</span> Adding an url property for the Todo items</h4>
<div id="outline-container-org2ac8cce" class="outline-4">
<h4 id="org2ac8cce"><span class="section-number-4">4.4.5</span> Adding an url property for the Todo items</h4>
<div class="outline-text-4" id="text-4-4-5">
<p>
In the specs of the TodoBackend API, the JSON representation of Todo
......@@ -941,8 +941,8 @@ the <code>url</code> attribute.
</div>
</div>
<div id="outline-container-org669c2a6" class="outline-4">
<h4 id="org669c2a6"><span class="section-number-4">4.4.6</span> Supporting PATCH request on Todo items</h4>
<div id="outline-container-org34d540a" class="outline-4">
<h4 id="org34d540a"><span class="section-number-4">4.4.6</span> Supporting PATCH request on Todo items</h4>
<div class="outline-text-4" id="text-4-4-6">
<p>
The PATCH method should be allowed on items, so we change the
......@@ -970,8 +970,8 @@ must also explicitely declare GET and DELETE):
</div>
</div>
<div id="outline-container-orgcd91616" class="outline-4">
<h4 id="orgcd91616"><span class="section-number-4">4.4.7</span> Fixing the order naming</h4>
<div id="outline-container-orgcdb1dc1" class="outline-4">
<h4 id="orgcdb1dc1"><span class="section-number-4">4.4.7</span> Fixing the order naming</h4>
<div class="outline-text-4" id="text-4-4-7">
<p>
Final step is to fix the naming of the <code>order</code> attribute, instead of <code>todo_order</code>.
......@@ -990,16 +990,16 @@ That's all about it. You should be able to run <a href="http://www.todobackend.c
</div>
</div>
<div id="outline-container-orgd2b3abf" class="outline-2">
<h2 id="orgd2b3abf"><span class="section-number-2">5</span> Deploying on heroku</h2>
<div id="outline-container-orgbd548b1" class="outline-2">
<h2 id="orgbd548b1"><span class="section-number-2">5</span> Deploying on heroku</h2>
<div class="outline-text-2" id="text-5">
<p>
Here are a few notes about the hardest part maybe that was the tuning necessary for hosting that API on heroku. Feel free to suggest complements.
</p>
</div>
<div id="outline-container-orge387423" class="outline-3">
<h3 id="orge387423"><span class="section-number-3">5.1</span> Support CORS</h3>
<div id="outline-container-org7997f8f" class="outline-3">
<h3 id="org7997f8f"><span class="section-number-3">5.1</span> Support CORS</h3>
<div class="outline-text-3" id="text-5-1">
<p>
The test suite will now check that the CORS headers are supported. Test with :
......@@ -1033,7 +1033,7 @@ Executing script assets:install --symlink --relative public [OK]
</pre>
<p>
U then changed the <code>config/packages/nelmio_cors.yaml</code> in the following
I then changed the <code>config/packages/nelmio_cors.yaml</code> in the following
way which is a variant of <a href="https://github.com/nelmio/NelmioCorsBundle">https://github.com/nelmio/NelmioCorsBundle</a>
since defaults didn't work well:
</p>
......@@ -1068,8 +1068,8 @@ with the Symfony dev environment, using the <code>php -S</code> Web server.
</div>
</div>
<div id="outline-container-orgdc822de" class="outline-3">
<h3 id="orgdc822de"><span class="section-number-3">5.2</span> Tuning Heroku for REST API</h3>
<div id="outline-container-orgc7b167a" class="outline-3">
<h3 id="orgc7b167a"><span class="section-number-3">5.2</span> Tuning Heroku for REST API</h3>
<div class="outline-text-3" id="text-5-2">
<p>
I had to tweak the Web server configuration (see <a href="Procfile">Procfile</a> and
......@@ -1093,7 +1093,7 @@ heroku config:set <span style="color: #8b2252;">"DATABASE_URL=sqlite:///%kernel.
</div>
<div id="postamble" class="status">
<p class="author">Author: Olivier Berger</p>
<p class="date">Created: 2018-05-14 lun. 16:02</p>
<p class="date">Created: 2018-05-14 lun. 16:05</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>
......
......@@ -513,47 +513,47 @@ bin/console --no-ansi doctrine:schema:update --force
#+RESULTS:
#+begin_example
Using version ^1.1 for api-platform/api-pack
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 21 installs, 0 updates, 0 removals
- Installing symfony/translation (v4.0.9): Loading from cache
- Installing symfony/validator (v4.0.9): Loading from cache
- Installing twig/twig (v2.4.8): Loading from cache
- Installing symfony/twig-bridge (v4.0.9): Loading from cache
- Installing symfony/twig-bundle (v4.0.9): Loading from cache
- Installing symfony/inflector (v4.0.9): Loading from cache
- Installing symfony/property-access (v4.0.9): Loading from cache
- Installing symfony/security (v4.0.9): Loading from cache
- Installing symfony/security-bundle (v4.0.9): Loading from cache
- Installing symfony/expression-language (v4.0.9): Loading from cache
- Installing symfony/asset (v4.0.9): Loading from cache
- Installing webmozart/assert (1.3.0): Loading from cache
- Installing phpdocumentor/reflection-common (1.0.1): Loading from cache
- Installing phpdocumentor/type-resolver (0.4.0): Loading from cache
- Installing phpdocumentor/reflection-docblock (4.3.0): Loading from cache
- Installing nelmio/cors-bundle (1.5.4): Loading from cache
- Installing willdurand/negotiation (v2.3.1): Loading from cache
- Installing symfony/serializer (v4.0.9): Loading from cache
- Installing symfony/property-info (v4.0.9): Loading from cache
- Installing api-platform/core (v2.2.5): Loading from cache
- Installing api-platform/api-pack (1.1.0): Loading from cache
Writing lock file
Generating autoload files
ocramius/package-versions: Generating version class...
ocramius/package-versions: ...done generating version class
Symfony operations: 5 recipes (4e65598197d35ac240a72e14b210a0df)
=3.3): From github.com/symfony/recipes:master
=3.3): From github.com/symfony/recipes:master
=3.3): From github.com/symfony/recipes:master
=1.5): From github.com/symfony/recipes:master
=2.1): From github.com/symfony/recipes:master
Executing script cache:clear [OK]
Executing script assets:install --symlink --relative public [OK]
Some files may have been created or updated to configure your new packages.
Please review, edit and commit them: these files are yours.
Using version ^1.1 for api-platform/api-pack
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 21 installs, 0 updates, 0 removals
- Installing symfony/translation (v4.0.9): Loading from cache
- Installing symfony/validator (v4.0.9): Loading from cache
- Installing twig/twig (v2.4.8): Loading from cache
- Installing symfony/twig-bridge (v4.0.9): Loading from cache
- Installing symfony/twig-bundle (v4.0.9): Loading from cache
- Installing symfony/inflector (v4.0.9): Loading from cache
- Installing symfony/property-access (v4.0.9): Loading from cache
- Installing symfony/security (v4.0.9): Loading from cache
- Installing symfony/security-bundle (v4.0.9): Loading from cache
- Installing symfony/expression-language (v4.0.9): Loading from cache
- Installing symfony/asset (v4.0.9): Loading from cache
- Installing webmozart/assert (1.3.0): Loading from cache
- Installing phpdocumentor/reflection-common (1.0.1): Loading from cache
- Installing phpdocumentor/type-resolver (0.4.0): Loading from cache
- Installing phpdocumentor/reflection-docblock (4.3.0): Loading from cache
- Installing nelmio/cors-bundle (1.5.4): Loading from cache
- Installing willdurand/negotiation (v2.3.1): Loading from cache
- Installing symfony/serializer (v4.0.9): Loading from cache
- Installing symfony/property-info (v4.0.9): Loading from cache
- Installing api-platform/core (v2.2.5): Loading from cache
- Installing api-platform/api-pack (1.1.0): Loading from cache
Writing lock file
Generating autoload files
ocramius/package-versions: Generating version class...
ocramius/package-versions: ...done generating version class
Symfony operations: 5 recipes (4e65598197d35ac240a72e14b210a0df)
=3.3): From github.com/symfony/recipes:master
=3.3): From github.com/symfony/recipes:master
=3.3): From github.com/symfony/recipes:master
=1.5): From github.com/symfony/recipes:master
=2.1): From github.com/symfony/recipes:master
Executing script cache:clear [OK]
Executing script assets:install --symlink --relative public [OK]
Some files may have been created or updated to configure your new packages.
Please review, edit and commit them: these files are yours.
#+end_example
2. Then declare the =Todo= entities as to be handled through the API:
......@@ -918,7 +918,7 @@ Executing script cache:clear [OK]
Executing script assets:install --symlink --relative public [OK]
#+end_example
U then changed the =config/packages/nelmio_cors.yaml= in the following
I then changed the =config/packages/nelmio_cors.yaml= in the following
way which is a variant of https://github.com/nelmio/NelmioCorsBundle
since defaults didn't work well:
#+BEGIN_SRC yaml
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment