# [−][src]Trait actix_web::dev::Handler

    pub trait Handler<S>: 'static {
        type Result: Responder;
        fn handle(&self, req: &HttpRequest<S>) -> Self::Result;
    }

Trait defines object that could be registered as route handler

## Associated Types

### `type Result: Responder`

The type of value that handler will return.

## Required Methods

### `fn handle(&self, req: &HttpRequest<S>) -> Self::Result`

Handle request

## Implementors

###

`impl<F, R, S> Handler<S> for F where F: Fn(&HttpRequest<S>) -> R + 'static, R: Responder + 'static,`

[src]

Handler for Fn()

#### `type Result = R`

####

`fn handle(&self, req: &HttpRequest<S>) -> R`

[src]

###

`impl<S> Handler<S> for NormalizePath`

[src]

#### `type Result = HttpResponse`

####

`fn handle(&self, req: &HttpRequest<S>) -> Self::Result`

[src]

###

`impl<S: 'static, C: 'static + StaticFileConfig> Handler<S> for StaticFiles<S, C>`

[src]

#### `type Result = Result<AsyncResult<HttpResponse>, Error>`

####

`fn handle(&self, req: &HttpRequest<S>) -> Self::Result`

[src]

# Help

## Keyboard Shortcuts

`?`
  Show this help dialog
`S`
  Focus the search field
`↑`
  Move up in search results
`↓`
  Move down in search results
`↹`
  Switch tab
`⏎`
  Go to active search result
`+`
  Expand all sections
`-`
  Collapse all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g. `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g. `vec -> usize` or `* -> vec`)

Search multiple things at once by splitting your query with comma (e.g. `str,u8` or `String,struct:Vec,test`)