Passing JSON data to action as class (explicit declaration)

- mishak
- Member | 94
I got this idea after watching introduction video for Knockout.js library where was shown how easy it is to get JSON data in ASP.
Basically this is the idea:
<?php
class Response {
/** @var Record[] */
public $records;
}
class Records {
/** @var string */
public $name;
/** @var string */
public $email;
/* ... */
}
class JsonPresenter extends \Nette\Application\UI\Presenter {
public function actionSave(Response $response)
{
foreach ($response->records as $record)
{
/* ... */
}
}
}
?>
Conditions:
- JSON is checked against classes definitions and if fails appropriate http error is returned
- to action is passed only valid class (never
null)
Benefits:
- reduced amount of edge cases
- no JSON parsing (handled transparently) – less overhead in actual action code
- simpler testing
- explicit data contract
Does this seem as a good idea?
Last edited by mishak (24. 4. 2013 17:20)
RSS feed
Topic closed