Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > pl.comp.lang.php > #16036
| Newsgroups | pl.comp.lang.php |
|---|---|
| From | Wojciech Bancer <wojciech.bancer@gmail.com> |
| Subject | Re: Serwer REST |
| References | <1t1f1d2pfc90d.dlg@tyczka.com> <slrnq503uh.25n9.wojciech.bancer@pl-test.org> <1jylb29ds7hxx.dlg@tyczka.com> |
| Organization | None |
| Date | 2019-01-29 13:05 +0100 |
| Message-ID | <slrnq50gcs.29i4.wojciech.bancer@pl-test.org> (permalink) |
On 2019-01-29, Roman Tyczka <noemail@because.no> wrote:
> On Tue, 29 Jan 2019 09:33:20 +0100, Wojciech Bancer wrote:
>
>>> Potrzebuję w PHP wystawić prościutkie API restowe, kilka metod
>>> odczytujących i zapisujących coś do bazy.
>>> Jakiej biblioteki PHP użyć bym nie stracił na to kilku dni uczenia?
>>
>> To jest teraz na topie:
>> https://api-platform.com/
>
> Dzięki, wygląda interesująco, ale to jest raczej olbrzymi kombajn a nie
> mały cusiek do rozkminy w kilka godzin. Zapisuje do zakładek i będę powoli
> trawił, ale na już czegoś małego potrzebuję, chyba wezmę to co sam
> znalazłem na razie.
Z takiego pobieżnego "rzutu okiem", to goły Symfony ma podobną funkcjonalność, np.:
/**
* @Route("/api")
*/
class ApiController
{
/**
* @Route("/study/{study}/report/{report}", methods={"GET"}, defaults={"_format"="json"})
*/
public function getReportDetails(Study $study, StudyReport $report)
{
// .../
return new JsonResponse([
'status' => 'ok',
'data' => $report->getSelectedData(),
'options' => $report->getOptions()
]);
}
}
a obiekt wysłany POSTem możesz pobrać przez:
$data = json_decode($request->getContent(), true);
i dalej potraktować np. albo przez json schema validator,
albo przez walidatory wbudowane w symfony (czyli stworzenie
klasy FormType).
CORS załatwia:
https://github.com/nelmio/NelmioCorsBundle
(albo ustawienia serwera).
Przy czym warto pamiętać, że jak chcesz obsługiwać ruch z frameworków,
to one często wysyłają najpierw na ten sam URL request z metodą OPTION,
zeby właśnie zweryfikować CORSy. :)
--
Wojciech Bańcer
wojciech.bancer@gmail.com
Back to pl.comp.lang.php | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Serwer REST Roman Tyczka <noemail@because.no> - 2019-01-28 14:44 +0100
Re: Serwer REST Marek S <precz@spamowi.com> - 2019-01-28 21:49 +0100
Re: Serwer REST Roman Tyczka <noemail@because.no> - 2019-01-29 09:07 +0100
Re: Serwer REST Marek S <precz@spamowi.com> - 2019-01-29 22:04 +0100
Re: Serwer REST Roman Tyczka <noemail@because.no> - 2019-01-30 08:33 +0100
Re: Serwer REST Wojciech Bancer <wojciech.bancer@gmail.com> - 2019-01-29 09:42 +0100
Re: Serwer REST Borys Pogoreło <borys@pl.edu.leszno> - 2019-01-29 15:48 +0100
Re: Serwer REST Wojciech Bancer <wojciech.bancer@gmail.com> - 2019-01-29 09:33 +0100
Re: Serwer REST Roman Tyczka <noemail@because.no> - 2019-01-29 11:58 +0100
Re: Serwer REST Wojciech Bancer <wojciech.bancer@gmail.com> - 2019-01-29 13:05 +0100
Re: Serwer REST Borys Pogoreło <borys@pl.edu.leszno> - 2019-01-29 15:45 +0100
csiph-web