go-restful
Package for building REST-style Web Services using Go
.... Route errors produce HTTP 404/405/406/415 errors, customizable using ServiceErrorHandler(...). Request API for reading structs from JSON/XML and accessing parameters (path, query, header). Customizable gzip/deflate readers and writers using CompressorProvider registration. There are several hooks to customize the behavior of the go-restful package.