All Projects → ruter → xiachufang-api

ruter / xiachufang-api

Licence: Apache-2.0 license
下厨房 API

Programming Languages

python
139335 projects - #7 most used programming language
Dockerfile
14818 projects

Projects that are alternatives of or similar to xiachufang-api

PlaceTracking
Simple and free to use API for time and location tracking
Stars: ✭ 21 (-60.38%)
Mutual labels:  api-service
api-gateway
Api Gateway for a microservices deployment
Stars: ✭ 31 (-41.51%)
Mutual labels:  api-service
foxx-builder
ArangoDB Foxx Services in a super intuitive way
Stars: ✭ 22 (-58.49%)
Mutual labels:  api-service
travels-java-api
An API for travel management. It is built with Java, Spring Boot, and Spring Framework. A toy-project to serve as a theoretical basis for the Medium series of articles I wrote about Java+Spring.
Stars: ✭ 139 (+162.26%)
Mutual labels:  api-service
mockify
Easy, configurable API mocking you can change on-the-fly
Stars: ✭ 83 (+56.6%)
Mutual labels:  api-service
treblle-laravel
The offical Treblle package for Laravel
Stars: ✭ 43 (-18.87%)
Mutual labels:  api-service
resources
Awesome resources - 网络资源
Stars: ✭ 27 (-49.06%)
Mutual labels:  api-service
aegisnet
Lightweight express, koa, and http middleware for efficient API endpoint monitoring
Stars: ✭ 13 (-75.47%)
Mutual labels:  api-service
codetabs
Free Online Services. Github/GitLab star history. Count Lines of Code. CORS proxy server. IP GeoLocation. Convert Video to Gif. HTTP Headers. Api weather temp. Alexa ranking.
Stars: ✭ 114 (+115.09%)
Mutual labels:  api-service
BooksApp
Book selling application with MVVM (Model, View, ViewModel), LiveData, DataBinding, Retrofit, Room Database, Navigation Component(NavGraph, BottomNav), ViewPager2 in TabLayout, SearchView, Vertical Adapter(BestSellers) and Horizontal Adapter(All Books) with ConcatAdapter for Main Screen, Firebase Auth, SearchView in Adapter, Picasso, Lottie, Ani…
Stars: ✭ 53 (+0%)
Mutual labels:  api-service
travels-api
API for Travels Management - UFLA Comp Jr/20 anniversary event
Stars: ✭ 22 (-58.49%)
Mutual labels:  api-service
liuye
柳叶清单开放 API 文档
Stars: ✭ 32 (-39.62%)
Mutual labels:  api-service
Aliexpress-API
An Personal API For Fetching Product Details On Aliexpress.com
Stars: ✭ 60 (+13.21%)
Mutual labels:  api-service
yametrikapy
Python library for Yandex Metrika API
Stars: ✭ 20 (-62.26%)
Mutual labels:  api-service
coronavirus-dashboard-api-R-sdk
Coronavirus (COVID-19) in the UK - API Service SDK for R
Stars: ✭ 23 (-56.6%)
Mutual labels:  api-service

下厨房 API

下厨房官方并没有放出 API,本着自己动手丰衣足食的理念,配合 Toapi 快速实现了一个 API.

目前实现的接口有搜索分页列表分类详细内容 5 个部分。

Overview

本项目是基于新生的开源项目 Toapi 快速实现的产物, 由于该项目处于刚起步状态,很多特性都处于非稳定状态,随时会发生变更(如路由 route 匹配规则就在本项目诞生的时候发生了变更),所以不建议在生产环境中使用。 项目已经发布正式版,可以放心使用。

Usage

克隆项目或直接下载项目源码到本地

git clone https://github.com/ruter/xiachufang-api.git

安装依赖

cd xiachufang-api/
pip install -r requirements.txt

运行项目

python wsgi.py

访问 http://your_server_ip:5000

Cache

Toapi 本身提供了 3 种缓存机制:

  • MemoryCache - 服务重启后已缓存的数据都会销毁
  • RedisCache - 需安装并启动 Redis
  • MemcachedCache - 需安装并启动 Memcached

默认使用的是 MemoryCache,可以自己手动更改配置使用其他另外两种缓存方式。

为了方便使用,本项目已经在 settings.py 中默认配置了 MemoryCacheRedisCache,并且默认使用 MemoryCache.

若要使用 RedisCache 缓存,需要先修改 app.py 中的配置,并确保在运行该项目之前 Redis 的服务已经启动,以下是参考步骤

app.py

# 全局替换 MemCacheSettings 为 RedisCacheSettings
# 共有两处需要修改,修改后如下

from settings import RedisCacheSettings

api = Api(URL, settings=RedisCacheSettings)

settings.py

# 找到 class RedisCacheSettings(Settings)
# 检查 'cache_config' 里的配置和当前环境使用的 Redis 配置是否一致
# 这里使用的是默认配置

'cache_config': {
    'host': '127.0.0.1',
    'port': 6379,
    'db': 0
}

Example

可请求的 URI 有 4 个:

  • /search/<keyword>
  • /category/
  • /category/<no>//category/<no>/?page=<page>
  • /recipe/<no>/

搜索菜谱

GET /search/鸡蛋

{
    "Page": [
        {
            "next": "/category/394/?page=2"
        }
    ],
    "Recipe": [
        {
            "cover": "http://s2.cdn.xiachufang.com/84c059f68aa211e6b87c0242ac110003_1536w_2048h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90",
            "name": "虎皮蛋(爱吃卤鸡蛋的不容不过~)",
            "url": "/recipe/101772749/"
        },
        {
            "cover": "http://s2.cdn.xiachufang.com/59f01d9a877011e6b87c0242ac110003_2622w_2064h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90",
            "name": "蒸鸡蛋",
            "url": "/recipe/1052846/"
        },
        {
            "cover": "http://s2.cdn.xiachufang.com/49fdcc782dc611e7947d0242ac110002_1488w_1984h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90",
            "name": "卤鸡蛋",
            "url": "/recipe/102275135/"
        },
        {
            "cover": "http://s2.cdn.xiachufang.com/c35432e086f711e6b87c0242ac110003_480w_640h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90",
            "name": "葱花鸡蛋饼",
            "url": "/recipe/45007/"
        },
        {
            "cover": "http://s2.cdn.xiachufang.com/a79c5420896c11e6a9a10242ac110002_1280w_1280h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90",
            "name": "鸡蛋饼",
            "url": "/recipe/100553539/"
        },
        {
            "cover": "http://s2.cdn.xiachufang.com/e0edf7e4876c11e6a9a10242ac110002_2448w_3264h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90",
            "name": "鸡蛋汤面",
            "url": "/recipe/1050858/"
        },
        {
            "cover": "http://s2.cdn.xiachufang.com/07145394876511e6a9a10242ac110002_500w_667h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90",
            "name": "尖椒鸡蛋",
            "url": "/recipe/1047057/"
        },
        {
            "cover": "http://s2.cdn.xiachufang.com/45bd2aa6882f11e6b87c0242ac110003_640w_638h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90",
            "name": "正宗糖醋鸡蛋",
            "url": "/recipe/100133845/"
        },
        {
            "cover": "http://s2.cdn.xiachufang.com/8d9f4042898911e6a9a10242ac110002_1280w_1280h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90",
            "name": "鸡蛋米饭饼",
            "url": "/recipe/100564118/"
        },
        {
            "cover": "http://s2.cdn.xiachufang.com/5a8ace493fda4d658883ffbc92f3e911_2304w_1536h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90",
            "name": "鸡蛋小饼干",
            "url": "/recipe/102216617/"
        },
        {
            "cover": "http://s2.cdn.xiachufang.com/289c5b70882c11e6a9a10242ac110002_650w_650h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90",
            "name": "鸡蛋葱油饼",
            "url": "/recipe/100128338/"
        },
        {
            "cover": "http://s2.cdn.xiachufang.com/a319b8bc8ac411e6a9a10242ac110002_1880w_1879h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90",
            "name": "简单易学牛奶鸡蛋布丁",
            "url": "/recipe/101791580/"
        },
        {
            "cover": "http://s2.cdn.xiachufang.com/fc88b1be86f011e6b87c0242ac110003_500w_633h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90",
            "name": "鸡蛋土豆饼",
            "url": "/recipe/15758/"
        },
        {
            "cover": "http://s2.cdn.xiachufang.com/e98ea8f05edd11e7bc9d0242ac110002_3024w_4032h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90",
            "name": "虎皮鸡蛋",
            "url": "/recipe/102329470/"
        },
        {
            "cover": "http://s2.cdn.xiachufang.com/fb63737a88f611e6b87c0242ac110003_750w_728h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90",
            "name": "快手啤酒卤鸡蛋",
            "url": "/recipe/100475480/"
        },
        {
            "cover": "http://s1.cdn.xiachufang.com/c3f53dc8878011e6a9a10242ac110002_3088w_2056h.jpg@2o_50sh_1pr_1l_215w_136h_1c_1e_90q_1wh",
            "name": "剁椒鸡蛋",
            "url": "/recipe/1067968/"
        },
        {
            "cover": "http://s2.cdn.xiachufang.com/99e123f888e811e6a9a10242ac110002_638w_638h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90",
            "name": "鸡蛋芝士烤吐司",
            "url": "/recipe/100462057/"
        },
        {
            "cover": "http://s2.cdn.xiachufang.com/9622c1568b8911e6a9a10242ac110002_1920w_1080h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90",
            "name": "土豆丝鸡蛋饼",
            "url": "/recipe/101877531/"
        },
        {
            "cover": "http://s2.cdn.xiachufang.com/2eb6a4ba899f11e6a9a10242ac110002_640w_640h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90",
            "name": "西红柿鸡蛋",
            "url": "/recipe/100573951/"
        },
        {
            "cover": "http://s2.cdn.xiachufang.com/6bcc1b0288da11e6b87c0242ac110003_650w_650h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90",
            "name": "火腿肠葱花鸡蛋饼",
            "url": "/recipe/100448277/"
        }
    ]
}

获取详细菜谱

GET /recipe/101829462/

{
    "Content": [
        {
            "cover": "http://s2.cdn.xiachufang.com/d0cb97448b8c11e6a9a10242ac110002_1614w_1080h.jpg?imageView2/2/w/660/interlace/1/q/90",
            "grade": "8.5",
            "materials": [
                {
                    "name": "猪前蹄",
                    "unit": "一只"
                },
                {
                    "name": "冰糖",
                    "unit": "一块"
                },
                {
                    "name": "桂皮",
                    "unit": "二片"
                },
                {
                    "name": "八角",
                    "unit": "二个"
                },
                {
                    "name": "香叶",
                    "unit": "二片"
                },
                {
                    "name": "",
                    "unit": "一小块"
                },
                {
                    "name": "",
                    "unit": "适量"
                },
                {
                    "name": "",
                    "unit": "适量"
                },
                {
                    "name": "生抽",
                    "unit": "适量"
                },
                {
                    "name": "白胡椒粉",
                    "unit": "适量"
                },
                {
                    "name": "豆腐乳",
                    "unit": "一块"
                },
                {
                    "name": "陈醋",
                    "unit": "一小勺"
                },
                {
                    "name": "啤酒.料酒或白酒",
                    "unit": "适量"
                },
                {
                    "name": "鸡精(可不放)",
                    "unit": "适量"
                }
            ],
            "name": "红烧猪蹄",
            "steps": [
                {
                    "desc": "猪蹄.让卖的师傅给处理干净.剁好..\n自己家是没办法剁的...\n\n猪蹄放入冷水锅中煮..\n煮开后.继续煮5分钟以上..\n然后捞出来..清洗干净备用!",
                    "img": "http://s1.cdn.xiachufang.com/d9c834a28dfc11e6a9a10242ac110002_1080w_1616h.jpg@2o_50sh_1pr_1l_300w_90q_1wh",
                    "step": 1
                },
                {
                    "desc": "锅里放油..冰糖放入.\n\n如果是整块的.\n小火加热一会儿.锅铲拍一下.\n冰糖会全部碎.",
                    "img": "http://s2.cdn.xiachufang.com/0aabdbe08b8d11e6a9a10242ac110002_1616w_1080h.jpg?imageView2/2/w/300/interlace/1/q/90",
                    "step": 2
                },
                {
                    "desc": "小火.锅铲搅动.\n出现图片里的泡后.\n糖色就是炒好了..\n\n早了颜色不好看.\n晚了...会糊!!\n\n就好比女人..\n太年轻的木有味道.\n太老了.....\n\n一切.要刚刚好..",
                    "img": "http://s1.cdn.xiachufang.com/edfe036a8b8c11e6a9a10242ac110002_1616w_1080h.jpg@2o_50sh_1pr_1l_300w_90q_1wh",
                    "step": 3
                },
                {
                    "desc": "放入猪蹄翻炒.翻炒上色..",
                    "img": "http://s2.cdn.xiachufang.com/d96c03d08dfc11e6b87c0242ac110003_2048w_1536h.jpg?imageView2/2/w/300/interlace/1/q/90",
                    "step": 4
                },
                {
                    "desc": "放入八角.桂皮.香叶.姜片....继续翻炒!",
                    "img": "http://s1.cdn.xiachufang.com/d8ed4e468dfc11e6a9a10242ac110002_1536w_2048h.jpg@2o_50sh_1pr_1l_300w_90q_1wh",
                    "step": 5
                },
                {
                    "desc": "炒出香味...\n\n不要怀疑自己的嗅觉或我的菜谱.\n不要凑锅里去闻香味出来木有.\n有可能..伱家抽油烟机风力太大..",
                    "img": "http://s1.cdn.xiachufang.com/d85363308dfc11e6a9a10242ac110002_1536w_2048h.jpg@2o_50sh_1pr_1l_300w_90q_1wh",
                    "step": 6
                },
                {
                    "desc": "放白胡椒粉.生抽..陈醋.",
                    "img": "http://s2.cdn.xiachufang.com/d7d9cbba8dfc11e6a9a10242ac110002_1536w_2048h.jpg?imageView2/2/w/300/interlace/1/q/90",
                    "step": 7
                },
                {
                    "desc": "半瓶啤酒或二勺料酒.或一勺白酒...",
                    "img": "http://s2.cdn.xiachufang.com/d74b14748dfc11e6a9a10242ac110002_2048w_1536h.jpg?imageView2/2/w/300/interlace/1/q/90",
                    "step": 8
                },
                {
                    "desc": "然后再加开水..倒入高压锅.\n上汽之后.\n改中小火压5分钟.\n愛吃特别烂的.可以多几分钟.\n\n反正....我又不吃!",
                    "img": "http://s2.cdn.xiachufang.com/d6d12aec8dfc11e6b87c0242ac110003_1536w_2048h.jpg?imageView2/2/w/300/interlace/1/q/90",
                    "step": 9
                },
                {
                    "desc": "倒回锅里.加一块豆腐乳.捣碎..\n中小火焖煮!\n\n啥?没看见豆腐乳?\n喔..我家木有了.\n没放...=_=..",
                    "img": "http://s1.cdn.xiachufang.com/d55c85628dfc11e6a9a10242ac110002_1536w_2048h.jpg@2o_50sh_1pr_1l_300w_90q_1wh",
                    "step": 10
                },
                {
                    "desc": "汤汁收至剩一半时.\n放盐..大火收汁.\n\n成品颜色好看不好看.\n就看这一步了!",
                    "img": "http://s1.cdn.xiachufang.com/d4d5d13e8dfc11e6a9a10242ac110002_1536w_2048h.jpg@2o_50sh_1pr_1l_300w_90q_1wh",
                    "step": 11
                },
                {
                    "desc": "收干汁后...放一点鸡精.不放也行..",
                    "img": "http://s1.cdn.xiachufang.com/20a2d8868b8d11e6a9a10242ac110002_1614w_1080h.jpg@2o_50sh_1pr_1l_300w_90q_1wh",
                    "step": 12
                }
            ],
            "tip": "吃辣的话..后面丢几个小米椒.好好吃.不用高压锅或木有的.就在锅里直接加开水.尽量多加一些.烧开后.转小火慢炖.炖烂就行!但是后期一定要大火收汁!也可以放黄豆啥的.当然..催乳有良效.-_-#.."
        }
    ]
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].