parent
e21afc466a
commit
71ec1e3986
@ -178,9 +178,10 @@ hledger-web will display an error message until the file has been fixed.
|
|||||||
|
|
||||||
# JSON API
|
# JSON API
|
||||||
|
|
||||||
In addition to the web UI, hledger-web provides some JSON API routes.
|
In addition to the web UI, hledger-web provides some API routes that
|
||||||
These are similar to the API provided by the hledger-api tool, but
|
serve JSON in response to GET requests. Currently these are same ones
|
||||||
it may be convenient to have them in hledger-web also.
|
provided by the hledger-api tool, but hledger-web will likely receive
|
||||||
|
more attention than hledger-api in future:
|
||||||
```
|
```
|
||||||
/accountnames
|
/accountnames
|
||||||
/transactions
|
/transactions
|
||||||
@ -190,6 +191,28 @@ it may be convenient to have them in hledger-web also.
|
|||||||
/accounttransactions/#AccountName
|
/accounttransactions/#AccountName
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Also, you can append a new transaction to the journal by sending a PUT request to `/add` (hledger-web only).
|
||||||
|
As with the web UI's add form, hledger-web must be started with the `add` capability for this (enabled by default).
|
||||||
|
|
||||||
|
The payload should be a valid hledger transaction as JSON, similar to what you get from `/transactions`/`accounttransactions`.
|
||||||
|
|
||||||
|
Or, a useful way to generate test data is with the `readJsonFile`/`writeJsonFile` helpers in Hledger.Web.Json,
|
||||||
|
which will read or write any of hledger's JSON-capable types from or to a file.
|
||||||
|
Eg here we write the first transaction of a sample journal:
|
||||||
|
```shell
|
||||||
|
$ make ghci-web
|
||||||
|
>>> :m +*Hledger.Web.Json
|
||||||
|
>>> writeJsonFile "txn.json" (head $ jtxns samplejournal)
|
||||||
|
>>> :q
|
||||||
|
$ python -m json.tool <txn.json >txn.pretty.json # optional: make human-readable
|
||||||
|
```
|
||||||
|
([example, discussion](https://github.com/simonmichael/hledger/issues/316#issuecomment-465858507))
|
||||||
|
|
||||||
|
And here's how to test `/add` with curl:
|
||||||
|
```shell
|
||||||
|
$ curl -s http://127.0.0.1:5000/add -X PUT -H 'Content-Type: application/json' --data-binary @txn.pretty.json; echo
|
||||||
|
```
|
||||||
|
|
||||||
_man_({{
|
_man_({{
|
||||||
|
|
||||||
# ENVIRONMENT
|
# ENVIRONMENT
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user