2017-04-17 54 views
2

我無法弄清楚子資源在Python EVE中是如何工作的。 我嘗試這樣做:Python中子資源模式的結構Eve

DOMAIN = { 
    'people':{ 
     'type': 'dict', 
     'required': False, 
     'schema':{ 
      'name':{ 
       'type':'string', 
       'required':True 
      }, 
      'id':{ 
       'type':'string', 
       'required':True 
      }, 
      'books':{ 
       'type': 'dict', 
       "url": "people/<regex('[a-f0-9]{24}'):people_id>/books", 
       'schema':{ 
        'name':{ 
         'type':'string', 
         'required':False 
        }, 
        'id':{ 
         'type':'string', 
         'required':False 
        } 
       } 
      } 
     } 
    } 
} 

現在,當我做一個POST到URL: http://127.0.0.1:5000/people/58f5527d211d561ea1b35d8b/

隨着輸入: { 'BOOKNAME': '東西', 'BOOKID': '1001' }

我得到「的方法是不允許的請求的URL。,但我有 RESOURCE_METHODS = [ 'GET', '刪除', 'POST']ITEM_METHODS = ['GET','PATCH','PUT','DELETE'] 允許。

我知道我錯過了發佈子資源的正確方法,我找不到任何文檔。提前致謝。

回答

0

你可以看看前夕演示設置文件,那裏面有定義的simple sub-document

'schema': { 
    'firstname': { 
     'type': 'string', 
     'minlength': 1, 
     'maxlength': 10, 
    }, 
    'lastname': { 
     'type': 'string', 
     'minlength': 1, 
     'maxlength': 15, 
     'required': True, 
     'unique': True, 
    }, 
    'role': { 
     'type': 'list', 
     'allowed': ["author", "contributor", "copy"], 
    }, 
    # An embedded 'strongly-typed' dictionary. 
    'location': { 
     'type': 'dict', 
     'schema': { 
      'address': {'type': 'string'}, 
      'city': {'type': 'string'} 
     }, 
    }, 
    'born': { 
     'type': 'datetime', 
    }, 
} 

所以,回頭看你的代碼片段,我要說的是,你錯過了一個'type': 'dict'定義爲貴「書籍「領域。

+0

是否有一些文件,我可以找到端點映射到子資源?我找不到任何東西。謝謝 –