SKETCH.md 2.3 KB

restui

RestStudio (name in progress)

Introduction:

  • Create user free token based session, where we can setup history store Rest calls
  • While saving the configurations we generate new versions instead of replacing content
  • Any user can access and setup endpoints/history
  • Provide a test output area and code editor to write json body

Server: golang will provide data for session, store sessions

Database:

mongodb or nosql database, sqllite (for easy setup in case this goes opensource)

Post translator:

Provide a way to setup golang text templates to translate request/responses

endpoint store:

while creating end points we can allow user to REST the server i.e:
+-------+                                       +-------------+
| User  |                                       | RestStudio  |
+-------+                                       +-------------+
    |                                                  |
    | Create GET call named 'hello'                    |
    |------------------------------------------------->|
    |                                                  |
    | Save and generate ID                             |
    |------------------------------------------------->|
    |                                                  |
    |                          SessionId: "djEIsjaLdj" |
    |<-------------------------------------------------|
    |                                                  |
    | "curl http://reststudio/djElsjaLdj/hello"        |
    |------------------------------------------------->|
    |                                                  | --------------------------------------\
    |                                                  |-| Perform the configured call 'hello' |
    |                                                  | |-------------------------------------|
    |                                                  |
    |        Response from GET configured with 'hello' |
    |<-------------------------------------------------|
    |                                                  |

Model to store requests

type Request struct { // common request model
	Method string
	URL string
	Headers map[string]string
	QueryParam map[string]string // It will be append to URL as http://url?key=value
	Body string
}