github.com/bytom/bytom@v1.1.2-0.20221014091027-bbcba3df6075/net/http/httpjson/doc.go (about)

     1  /*
     2  
     3  Package httpjson creates HTTP handlers to map request
     4  and response formats onto Go function signatures.
     5  The request body is decoded as a JSON text
     6  into an arbitrary value and the function's return value
     7  is encoded as a JSON text for the response body.
     8  The function's signature determines the types of the
     9  input and output values.
    10  
    11  For example, the handler for a function with signature
    12  
    13    func(struct{ FavColor, Birthday string })
    14  
    15  would read the JSON request body into a variable
    16  of type struct{ FavColor, Birthday string }, then call
    17  the function.
    18  
    19  The allowed elements of a function signature are:
    20  
    21    parameters:
    22    Context (optional)
    23    request body (optional)
    24  
    25    return values:
    26    response body (optional)
    27    error (optional)
    28  
    29  All elements are optional.
    30  Thus, the smallest possible function signature is
    31  
    32    func()
    33  
    34  If the function returns a non-nil error,
    35  the handler will call the error function provided
    36  in its constructor.
    37  Otherwise, the handler will write the return value
    38  as JSON text to the response body.
    39  If the return type is omitted, the handler will send
    40  a default response value.
    41  
    42  */
    43  package httpjson