@@ -358,12 +358,34 @@ version 'v1', using: :param, parameter: "v"
358
358
You can add a description to API methods and namespaces.
359
359
360
360
``` ruby
361
- desc " Returns your public timeline."
361
+ desc " Returns your public timeline." do
362
+ detail ' more details'
363
+ params API ::Entities ::Status .documentation
364
+ success API ::Entities ::Entity
365
+ failure [[401 , ' Unauthorized' , " Entities::Error" ]]
366
+ named ' My named route'
367
+ headers [XAuthToken: {
368
+ description: ' Valdates your identity' ,
369
+ required: true
370
+ },
371
+ XOptionalHeader: {
372
+ description: ' Not really needed' ,
373
+ required: false
374
+ }
375
+ ]
376
+ end
362
377
get :public_timeline do
363
378
Status .limit(20 )
364
379
end
365
380
```
366
381
382
+ * ` detail ` : A more enhanced description
383
+ * ` params ` : Define parameters directly from an ` Entity `
384
+ * ` success ` : (former entity) The ` Entity ` to be used to present by default this route
385
+ * ` failure ` : (former http_codes) A definition of the used failure HTTP Codes and Entities
386
+ * ` named ` : A helper to give a route a name and find it with this name in the documentation Hash
387
+ * ` headers ` : A definition of the used Headers
388
+
367
389
## Parameters
368
390
369
391
Request parameters are available through the ` params ` hash object. This includes ` GET ` , ` POST `
@@ -1019,14 +1041,18 @@ end
1019
1041
The following example specifies the entity to use in the ` http_codes ` definition.
1020
1042
1021
1043
```
1022
- desc 'My Route', http_codes: [[408, 'Unauthorized', API::Error]]
1044
+ desc 'My Route' do
1045
+ failure [[408, 'Unauthorized', API::Error]]
1046
+ end
1023
1047
error!({ message: 'Unauthorized' }, 408)
1024
1048
```
1025
1049
1026
1050
The following example specifies the presented entity explicitly in the error message.
1027
1051
1028
1052
``` ruby
1029
- desc ' My Route' , http_codes: [[408 , ' Unauthorized' ]]
1053
+ desc ' My Route' do
1054
+ failure [[408 , ' Unauthorized' ]]
1055
+ end
1030
1056
error!({ message: ' Unauthorized' , with: API ::Error }, 408 )
1031
1057
```
1032
1058
@@ -1462,9 +1488,9 @@ module API
1462
1488
class Statuses < Grape ::API
1463
1489
version ' v1'
1464
1490
1465
- desc ' Statuses index' , {
1491
+ desc ' Statuses index' do
1466
1492
params: API ::Entities ::Status .documentation
1467
- }
1493
+ end
1468
1494
get ' /statuses' do
1469
1495
statuses = Status .all
1470
1496
type = current_user.admin? ? :full : :default
0 commit comments