This trait is primarily used with results and assets that send files,
for users who want to send a file without having to specify an explicit
content type. For example, a user can send a file with ".json":
implicitval fileMimeTypes = ...
val file = new File("test.json")
Ok.sendFile(file) // <-- uses implicit fileMimeTypes
and have a "json" -> "application/json" mapping done implicitly based
off the file extension. The Assets controller handles this mapping
automatically.
In a controller, an implicit FileMimeTypes object can either be defined
explicitly:
Defines behavior for file type mappings.
This trait is primarily used with results and assets that send files, for users who want to send a file without having to specify an explicit content type. For example, a user can send a file with ".json":
and have a "json" -> "application/json" mapping done implicitly based off the file extension. The Assets controller handles this mapping automatically.
In a controller, an implicit FileMimeTypes object can either be defined explicitly:
or, if play.api.mvc.BaseController is extended, then an implicit fileMimeTypes instance is already made available from play.api.mvc.ControllerComponents, meaning that no explicit import is required: