Restful API Doku

master
Sebastian Preisner 7 years ago
parent 8fcb8c3f23
commit 7d69b3c710

@ -5,44 +5,37 @@ Shrt is a url shortner writen in Go and by (Polr)[https://polr.me/index.php].
## Features
[x] No duplicated URL
[x] Simple UI
[x] DB simple json file
[x] Count URL views
[] Statistiks
[] Delete URL
[] Login
* [x] No duplicated URL
* [x] Simple UI
* [x] DB simple json file
* [x] Count URL views
* [] Statistiks
* [] Delete URL
* [] Login
## Problem
Problem liegt derzeit bei der Verwendung von shrt.Get mit der übergabe eines inteface.
## Restful API
Short an URL
```
package main
GET: http://example.com/api/action/shorten?key=API_KEY_HERE&url=http://example.de/shortening/main?q=5x
...
var redirect string
if ok := shrt.Get(token, &redirect); ok {
// do something with the redirect.
}
Response:
{ "action": "shorten",
"result": "https://example.com/5kq" }
```
Entgegen genommen wird es bei `lib/shrt.go`:
Lookup for existing URL
```
// Get returns the URL for the given token
func (s *Storage) Get(token string, value interface{}) bool {
if hash, ok := s.Token[token]; ok {
fmt.Printf("Url gefunden %s mit Hash: %v \n", s.Url[hash].URL, hash)
value = s.Url[hash].URL
fmt.Printf("Value: %V \n", value)
return true
}
return false
GET: http://example.com/api/action/lookup?key=API_KEY_HERE&url_ending=5kq
Response:
{ "action":"lookup",
"result": {
"long_url": "http://example.de/shortening/main?q=5x",
"created_at": "2017-05-12 22:48:40.997520107 +0200 CEST",
"clicks":"0"
}
}
```
Ich dachte eigentlich ich könne redirect damit manipulieren wenn ich es als pointer auf redirect übergebe aber das scheint nicht so zu sein....
```
Loading…
Cancel
Save