Astrodata API
Project structure:
astrodata-api
│
├── api
│ ├── handlers.go
│ ├── handlers_test.go
│ ├── health
│ │ ├── health.go
│ │ └── health_test.go
│ └── models.go
├── core
│ ├── core.go
│ ├── core_test.go
│ └── parser.go
├── db
│ ├── db.go
│ ├── db_test.go
│ └── models.go
├── go.mod
├── go.sum
├── LICENSE
├── main.go
├── README.md
└── vars
└── vars.go
Api docs
-
This readme file provides an overview and documentation for the astrodata_api application's RESTful API,
focusing on the package handlers.
-
The API provides access to various space weather data retrieval endpoints:
Endpoints:
GET /health
status Code: 200 OK
content-Type: application/json
Dst data
- Description: returns dst data for n period
GET /dst/7d
GET /dst/current-month
GET /dst/last-month
GET /dst/now
GET /api/dst/by-date?date=data (YYYYMM format, Example: 202306)
GET /dst/now/strength
Status Code: 200 OK
Content-Type: application/json
Predictions (60% sure)
- Description: calculate and returns the predicted dst index for the next n hours (future predict (60% sure))
GET /predict/6h
GET /predict/1d
Status Code: 200 OK
Content-Type: application/json
Bz data
- Description: retrieve bz data for n period
GET /bz/6h
GET /bz/1d
GET /bz/3d
GET /bz/7d
GET /api/bz/7d
GET /bz/now
GET /bz/now/strength
Plasma temperature data
- Description: retrieve time plasma temperature data for n time period
GET /plasma/now
GET /plasma/2h
GET /plasma/6h
GET /plasma/1d
GET /api/plasma/1d
GET /plasma/3d
GET /api/plasma/3d
GET /plasma/7d
Status Code: 400 Bad Request
Content-Type: application/json
{
"error": "date parameter is missing!"
}
{
"error": "Invalid date format"
}
CORS Configs
-
The API is configured to allow Cross-Origin Resource Sharing (CORS) by using the github.com/gin-contrib/cors middleware, enabling access to the API from different domains.
-
The API will be available at https://somesite.xyz, make requests to the defined endpoints to access space weather data.
-
Please ensure that the appropriate URL is used along with any required query parameters when making requests to the API endpoints.
Contributing
-
Pull requests are welcome. For major changes, please open an issue first
to discuss what you would like to change.
-
Please make sure to update tests as appropriate.
License