                      ),
                      'custom_list_action_multiple_methods': {
                          'read': coreapi.Link(
                              url='/example1/custom_list_action_multiple_methods/',
                              action='get'
                          )
                      },
                      'read': coreapi.Link(
                          url='/example1/{id}/',
                          action='get',
 
</s> remove                             action='get'
 </s> add                             action='get',
                            description='Custom description.', </s> remove                             action='get'
 </s> add                             action='get',
                            description='Custom description.', </s> remove                             action='post'
                        )
 </s> add                             action='post',
                            description='Custom description.',
                        ),
                        'delete': coreapi.Link(
                            url='/example/custom_list_action_multiple_methods/',
                            action='delete',
                            description='Deletion description.',
                        ), </s> remove             mapping={http_method: action.__name__
                     for http_method in action.bind_to_methods},
 </s> add             mapping=action.mapping,
                            action='get',
                            description='Custom description.',
                      ),
                      'custom_list_action_multiple_methods': {
                          'read': coreapi.Link(
                              url='/example1/custom_list_action_multiple_methods/',
                            action='get',
                            description='Custom description.',
                          )
                      },
                      'read': coreapi.Link(
                          url='/example1/{id}/',
                          action='get',
keep keep keep keep replace keep keep keep keep keep
 Improvements to ViewSet extra actions (#5605)

* View suffix already set by initializer

* Add 'name' and 'description' attributes to ViewSet

ViewSets may now provide their `name` and `description` attributes
directly, instead of relying on view introspection to derive them.
These attributes may also be provided with the view's initkwargs.

The ViewSet `name` and `suffix` initkwargs are mutually exclusive.

The `action` decorator now provides the `name` and `description` to
the view's initkwargs. By default, these values are derived from the
method name and its docstring. The `name` may be overridden by providing
it as an argument to the decorator.

The `get_view_name` and `get_view_description` hooks now provide the
view instance to the handler, instead of the view class. The default
implementations of these handlers now respect the `name`/`description`.

* Add 'extra actions' to ViewSet & browsable APIs

* Update simple router tests

Removed old test logic around link/action decorators from `v2.3`. Also
simplified the test by making the results explicit instead of computed.

* Add method mapping to ViewSet actions

* Document extra action method mapping 
tests/test_schemas.py