Skip to content

priyanka88/Web-service-using-Go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

Web-service-using-Go

Create RESTful web service to maintain simple to-dos using Go

README ***Created by Priyanka Chavan (priyankachavan88@gmail.com) **** Compiled and tested successfully. To-do tasks implemetaion using Go : Steps followed for implementation: Install Go Install curl Install TortoiseHg Install Git Tutorials for golang and Json parsing (unmarshal method in GO)and why RESTful web service. Write Get and Post methods Use "store" to store Json objects received grom GET methods. Used a package from github for a framework.Referred at the end of this file. Run and test using curl commands as follows.

Output: Curl commands used to test: Create method :

C:>curl -i -d "{"taskdesc":"Call","date":"02/12/2014","completed":"true"}" http://127.0.0.1:8080/task/add HTTP/1.1 200 OK Content-Type: application/json X-Powered-By: go-json-rest Date: Thu, 24 Apr 2014 00:09:14 GMT Content-Length: 71 { "Taskdesc": "Call", "Date": "02/12/2014", "Completed": "true" }

Read method : (with task Desc as id)

C:>curl -i http://127.0.0.1:8080/task/Call HTTP/1.1 200 OK Content-Type: application/json X-Powered-By: go-json-rest Date: Thu, 24 Apr 2014 00:10:43 GMT Content-Length: 71

{ "Taskdesc": "Call", "Date": "02/12/2014", "Completed": "true" }

Read method : (Read all)

C:>curl -i http://127.0.0.1:8080/task/list HTTP/1.1 200 OK Content-Type: application/json X-Powered-By: go-json-rest Date: Thu, 24 Apr 2014 00:14:22 GMT Content-Length: 168

[ { "Taskdesc": "pay", "Date": "12/12/2014", "Completed": "true" }, { "Taskdesc": "Call", "Date": "02/11/2014", "Completed": "false" } ]

Update method:(Read all to check the effect of update)

C:>curl -i -d "{"taskdesc":"Meet","date":"03/06/2014","completed":"t rue"}" http://127.0.0.1:8080/task/pay HTTP/1.1 200 OK Content-Type: application/json X-Powered-By: go-json-rest Date: Thu, 24 Apr 2014 00:16:04 GMT Content-Length: 71

{ "Taskdesc": "Meet", "Date": "03/06/2014", "Completed": "true" } C:>curl -i http://127.0.0.1:8080/task/list HTTP/1.1 200 OK Content-Type: application/json X-Powered-By: go-json-rest Date: Thu, 24 Apr 2014 00:16:08 GMT Content-Length: 169

[ { "Taskdesc": "Meet", "Date": "03/06/2014", "Completed": "true" }, { "Taskdesc": "Call", "Date": "02/11/2014", "Completed": "false" } ] Delete method:

C:>curl -i -X DELETE http://127.0.0.1:8080/task/Call HTTP/1.1 200 OK Date: Thu, 24 Apr 2014 00:17:13 GMT Content-Length: 0 Content-Type: text/plain; charset=utf-8

C:>curl -i http://127.0.0.1:8080/task/list HTTP/1.1 200 OK Content-Type: application/json X-Powered-By: go-json-rest Date: Thu, 24 Apr 2014 00:17:17 GMT Content-Length: 85

[ { "Taskdesc": "Meet", "Date": "03/06/2014", "Completed": "true" } ]

Issues faced: Passing JSON object to unmarshal method via curl command(resolved using StackOverflow.com) Data types of Date and boolean in Go Test cases like empty value in JSON object ,update whole object for "update" method.

References: https://gowalker.org/github.com/ant0ine/go-json-rest http://golang.org/ref/spec

About

Create RESTful web service to maintain simple to-dos using Go

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published