Hi,

> 
> Hi Cédrick,
> 
> I think making something like jsonplaceholder would be quite easy.
> 
> Do you know about the Zinc-REST package/group ?

I knew but forget about it !

> 
> It contains an example in its tests, ZnExampleStorageRestServerDelegate with 
> unit tests in ZnExampleStorageRestServerDelegateTest which implements a 
> generic data storage. Have a look !

Will definitely look again at it. Is it using a json file as db too ? I guess 
that be easy to add if not. I’ll look at it soon.

Any feedback about faker ? That’d be a fun project to do in Pharo.
There are lots of them. I don’t know which one to look at more in detail (js, 
ruby, python, php... ?).
https://github.com/faker-ruby/faker
https://github.com/marak/Faker.js/
https://github.com/joke2k/faker 
…

Anybody knows what’s the most « complete » or elegant ?


> 
> BTW, recently I added ZnClient>>#forJsonREST, which uses either STONJSON 
> (which is in the image) or NeoJSON (when loaded), so that you can more 
> elegant code for this use case:


Uhm right, I always forget and use the old way (with #contentReader: ).


Thanks for the information Sven,

Cédrick



> 
> ZnClient new
>  url: 'https://jsonplaceholder.typicode.com/posts';
>  forJsonREST;
>  get.
>       
> ZnClient new
>  url: 'https://jsonplaceholder.typicode.com/posts';
>  forJsonREST;
>  contents: { #title->'Test'. #body->String loremIpsum } asDictionary;
>  post.
> 
> Sven
> 
>> On 6 Jun 2020, at 09:44, Cédrick Béler <cdric...@gmail.com> wrote:
>> 
>> Hi Sven and all,
>> 
>> Disclaimer: just another rather not important query (mainly for fun so don’t 
>> hesitate to tell me to use the node packages instead ;-) )
>> 
>> To show API to students, I sometimes use 
>> https://jsonplaceholder.typicode.com. It’s nice to play with client 
>> requests. I wonder if this would be interesting to have such tools in 
>> Pharo/Zn. Maybe it exists already somehow (for Teapot eventually) ? 
>> https://medium.com/codingthesmartway-com-blog/create-a-rest-api-with-json-server-36da8680136d
>> 
>> From their GitHub, I discovered json-server + lowdb (based on lowdash) => 
>> all nodes packages. 
>> https://github.com/typicode.
>> 
>> <GraphiqueCollé-6.tiff>
>> 
>> It uses a db file db.json and I like such simple « databases ». I know 
>> they're not real db.
>> https://github.com/typicode/lowdb 
>> 
>> To me, it could nearly be to me an elegant personal db even if I think this 
>> is mostly used to test API’s. 
>> Indeed, It’s often used in conjunction with node package faker 
>> (https://github.com/marak/Faker.js/ (https://github.com/marak/Faker.js/). 
>> I would like to use that to generate static websites from Ecstatic.
>> 
>> The placeholder default website has limitations. For instance, the following 
>> request creates a new post (but then you cannot see the result if you query 
>> for posts just after)
>> 
>> <GraphiqueCollé-5.png>
>> 
>> 
>> I wanted to go past the limitation of the placeholder site (the db.json 
>> cannot be written). I can of course use the node package but you know :)  
>> Might be not so straight to port though.
>> 
>> So there are probably three open questions in this post:
>> 1)  lowdb (I know this is not a database but it’s handy and I’d like such 
>> usage in static website generation in conjunction with Ecstatic). Any 
>> already existing experiments maybe ? I don’t think Voyage can do that.
>> 2)  the API json-server based on routes (maybe a job for Teapot) ?
>> 3) the faker package as a fun exercice.
>> 
>> What others think ? My priority would go for having some kind of lowdb (and 
>> I’m pretty sure there are experiments around that - It reminds me a bit 
>> sandstonedb from Ramon 
>> http://onsmalltalk.com/sandstonedb-simple-activerecord-style-persistence-in-squeak.
>> 
>> Cheers,
>> 
>> Cédrick
>> 
>> 
>> 
> 
> 

Reply via email to