# Table of Annotations * Field Annotations * [@Identifier](/identifier) * [@Unique](/unique) * [@Required](/required) * [@Searchable](/searchable) * [@Uneditable](/uneditable) * [@PrettyName](/pretty-name) * [@TrueFalse](/true-false) * [@Number](/number) * [@Text](/text) * [@DateTime](/datetime) * [@Importance](/importance) * [@Hidden](/hidden) * RestModel Annotations * [@RestModel](/rest-model) * [@Evaluators](/evaluators) * [@Create](/create) * [@Find](/find) * [@Update](/update) * [@Delete](/delete) * [@Service](/service) * [@View](/view) * [@Dao](/dao) * [@DaoProvider](/dao-provider) * [@IdProvider](/id-provider) * [@ExtraRoutes](/extra-routes) * Dependency Injection and Routing * [@Route](/route) * [@Inject](/inject) * [@Tag](/tag) * [@ElepyConstructor](/elepy-constructor) # Annotations This page is meant to help you get an idea of the available Elepy annotations. There are four types of annotations. RestModel annotations, Field annotations, Dependency Injection annotations and Routing annotations. ## RestModel Annotations These are the most important annotations. They help you configure how a RestModel works. ## Field Annotations You use these annotations to annotate your fields. They are mostly used to keep data integrity. They can also be used to visually change how a field is displayed in the CMS. ## Dependency Injection Annotations These annotations help you integrate Elepy's moving parts. Almost all dynamically loaded classes can be injected with your application's context. ## Routing Annotations These annotations help you define extra functionality through routes.