人生中写的第一个和第二个合格的接口,因为要精简,明天会改掉。现备份于此。(PHP接口)

1 篇文章 0 订阅
1 篇文章 0 订阅

之后做的工作,
将是把代码中的注释,全部清除掉。

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2017/10/24
 * Time: 21:22
 */

namespace App\Http\Controllers\Api;

use App\Http\Controllers\BaseController;
use App\Models\Message;
use App\Repositories\Eloquent\MessageRepositoryEloquent;
use App\Transformers\Api\Message\MessageTransformer;
use Illuminate\Http\Request;
use App\Serializer\CustomSerializer;
use Dingo\Api\Http\Response\Factory;

class MessageController extends BaseController
{
    protected $message;//消息的模型。

    /**
     * 初始化一些Eloquent。
     */
    public function __construct(
        MessageRepositoryEloquent $message
    )
    {
        $this->message = $message;
    }


    /**
     * 参数列表:
     * id
     * title
     * content
     * msg_type
     * short_describe
     * read_status
     * user_id
     */
    public function msgLists(Request $request)//可用一般的Request,也可以用自定制的Request。
    {
        $perPage = 20; //分页的配置:一页20个数据。

        $msgs = $this->message->msgSearch($request, $perPage);


        return $this->paginatorReturn($msgs, new MessageTransformer());//返回时的使用哪些属性。


    }


//        第二版
//        if ($msgs->isEmpty()) {
//            //直接指向PHP的原生Response
//            return \Response::json([
//                'message' => 'no more data',
//                'status_code' => '204'
//            ]);
//        } else {
//            return app(Factory::class)->paginator(
//
//                $msgs,
//                new MessageTransformer(),
//                [],
//                function ($resource, $fractal) {
//                    $fractal->setSerializer(new CustomSerializer());
//                }
//            );
//        }


//        第一版
//        $msg_id = $request->get("msg_id");
//        if (!empty($msg_id)) {
//            //$msg = Message::where("msg_id", $msg_id)->get()->first();
//            $msg = Message::find($msg_id);
//            //printf($msg_arr[0]);
//            //echo 6666666;
//            return response()->json(['data' => $msg, 'message' => 'EveryThing is Okay', 'status_code' => '200']);
//        } else {
//            // return response()->json(['data' => 'null', 'message' => 'haven\' received msg_id', 'status_code' => '205']);
//            return response()->json([
//                'data' => Message::all(),
//                'message' => 'Everything is Okay , U can try to input your msg_id',
//                'status_code' => '200'
//            ]);
//        }


    public function msgAdd(Request $request)//StoreMsgRequest
    {
        $attrs = $request->all();

        if (!empty($attrs['title']) && !empty($attrs['content']) && !empty($attrs['msg_type']) && !empty($attrs['user_id'])) {
            $attrs['short_describe'] = mb_substr($attrs['content'], 0, 20)."... ...";
            $msg = Message::create($attrs);

            return $this->itemReturn($msg, new MessageTransformer());//返回时的使用哪些属性。
        } else {
            return $this->returnEmpty("add msg failed", "400");//返回时的使用哪些属性。
        }
    }

//        第二版
//        return response()->json(['data' => $msg, 'message' => 'EveryThing is Okay', 'status_code' => '200']);
//        return response()->json(['data' => null, 'message' => 'lack params ', 'status_code' => '400']);


//        测试用例:http://localhost:8000/msg/add?msg_id=4&title=titleaaaaa&content=abcdrfghijklmnopqrst&user_id=10
//        第一版
//        //$msg_id = $request->get("msg_id");
//        $title = $request->get('title');
//        $content = $request->get('content');
//        $msg_type = $request->get('msg_type');
//        $user_id = $request->get('user_id');
//
//
//        if (!empty($msg_id) && !empty($title) && !empty($content) && !empty($user_id)) {
//            $datetime = new \DateTime();
//
//            $msg = Message::create([
//                // 'msg_id' => $msg_id,
//                //'created_at' => $datetime->format('Y-m-d H:i:s'),
//                'title' => $title  /*"this is $msg_id" . "st message"*/,
//                'content' => $content /*"$msg_id message content is here"*/,
//                'msg_type' => $msg_type,
//                'short_describe' => substr($content, 0, 5) . '...'   /*"overview $msg_id" . "st message"*/,
//                //'read_status' => 0,
//                "user_id" => $user_id
//            ]);
//            return response()->json(['data' => $msg, 'message' => 'EveryThing is Okay', 'status_code' => '200']);
//        } else {
//            return response()->json(['data' => 'null', 'message' => 'your msg_id is wrong and the action haven\'t actioned', 'status_code' => '205']);
//        }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值