Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

PHPでAPIを作るときに便利な「Fractal」を知っていますか? APIで出力するJSONデータを簡単に整形できます。 APIを構築した経験があれば、データを直接レスポンスとしてダンプすることには慣れているでしょう。正しくダンプできれば問題ありませんが、この小さな手間を解消する実用的な代替案があります。 その1つがFractalです。Fractalを使うとレスポンスを返す前に新たに変換レイヤーをモデルに加えられます。高い柔軟性を持つのでどのようなアプリケーションやフレームワークにも簡単に導入できます。 インストール この記事ではLaravel 5.3アプリを使ってデモを作成し、Fractalパッケージと統合します。インストーラーを使うか、composer経由で新しいLaravelアプリを作成してください。 インストーラーを使う場合は、次のようにします。 laravel new demo
Laravelのルーティングは上から順番に読まれることを利用した小技です。 前提条件 一部APIに大幅な変更があり、APIのバージョンをあげて対応したい 旧APIはversion1として残したい クライアントからのアクセスはAPI単位ではなく、一括でversion2に切り替えたい 変更がないAPIに関してはversion1同様の処理をするようにしたい しかし、version1のControllerの処理をversion2にコピーして使いたくない routes.phpの設定方法 Routeのpatternとgroupを組み合わせて定義します。 <?php // API version2の定義 Route::pattern('apiVersion2', 'v2'); Route::group(['namespace' => 'Api\V2', 'prefix' => '{apiVersion2
以前リリースされた「チャットワークAPI」。チャットワークのユーザーであれば、API利用申請をするだけで無料でAPIを利用することができます。 作っているPHPサービスに●●があったとき、チャットワークのこのルームに通知してほしい・・・ということがあったので実装しました。 事前にチャットワークAPIの申請さえ行っておけば、コードコピペのみで終わるので、3分で実装できます。(利用申請を行ってから、APIを利用するためのtokenが発行されるまで1日〜くらい時間がかかります。) チャットワークAPIの連携でできること WEBサービスとチャットワークを連携するメリット サンプル(PHP) チャットワークAPIの連携でできること なにかのアクションをトリガーにして、チャットワークルームでメッセージを送信できます。例えば、サービスにお問い合わせがあったときに、その内容をチャットワークで通知する、など
Charlie Osborne (Special to ZDNET.com) 翻訳校正: 編集部 2016-06-24 10:29 「Swagger」の仕様に、NodeJS、PHP、Ruby、Javaのコードジェネレータツールに影響を及ぼす脆弱性が発見された。 Rapid7によれば、この脆弱性は、これらの言語用のSwagger Code Generatorを通じて生成された、インジェクション可能なコードペイロードに見つかった。この脆弱性が悪用されると、攻撃者は遠隔からクライアントまたはサーバ内でコードを実行して、サービスシステムの定義に干渉できる。 同様の他のプログラミング言語用のツールにも、同じ脆弱性が存在する可能性がある。 Swaggerの仕様は寄付され、現在はOpen API Initiative(OAI)の基盤となっており、REST APIの記述のベースとして使用されている。このフ
PHPカンファレンス福岡2016で「Guzzle Promiseを使った 非同期処理によるAPIコールの高速化」という発表をしてきました 初めまして、@suzukiです。2016年の1月からメルカリのサーバサイド・エンジニアとして働いていて、今は主にPHPを書いています。ときどきJavaScriptが書きたくなるので、最近は個人活動としてCrowiへpull requestを投げたりもしています。 発表した内容について 2016年5月21日に開催された「PHPカンファレンス福岡2016」で「Guzzle Promiseを使った 非同期処理によるAPIコールの高速化」というトークをしてきましたので、この場を借りて報告します。 スライド中でも触れていますが、GuzzleとはPHPで実装されたHTTPクライアントのライブラリです。Guzzle Promiseは、そのGuzzleから利用されている
February 17, 2016How to Build an API-Only JWT-Powered Laravel App Dingo API; JWT-Auth, by tymondesigns; CORS on Laravel 5 by barryvdh; In this article, we will learn how to use it to quickly create a fully functional API for an imaginary book wishlist application. As an aside, we will also see how to build a client application with AngularJS that will use our APIs. Creating the Project This tutori
FuelPHP Advent Calendar 2015 の18日目を担当します @hmukaida です。よろしくお願い致します。 今回は、FuelPHP で開発している WebAPI を VAddy というクラウド型Web脆弱性検査ツールを使ってテストする話をしたいと思います。FuelPHP 部分は弱めかと思いますが、18日目が空いていたので参加させていただきました。 はじめに フレームワークを使った開発では、ユニットテストやE2Eテストを行うのはもはや日常になってきているかと思います。当然私達の現場でも実施しています。 特にセキュリティ対策としては、各種サーバでの対策もそうですが、フレームワーク独自の対策を施したり、IPAの安全なウェブサイトの作り方を読み込み実践したりと様々取り組んできました。 しかし、数あるAPIの様々なリクエストにどれくらいの脆弱性が潜んでいるのか不安でなりませ
この記事はSymfony Advent Calendar JP 2011の24日目の記事です。 速いペースでマイナーバージョンアップされるSymfony2Symfony2は、2011年7月に2.0がリリースされて以降、概ね月に1回のペースでメンテナンスリリースをしています。私自身が開発に携わっている案件でも、何度かこのようなメンテナンスリリースによるSymfony2本体のバージョンアップを行いましたが、直接的な問題はほぼ発生していません。フレームワークの更新というと、マイナーバージョンアップでさえ事前に変更点をしっかり調査し、適用しても問題がないという調査・判断が必要でした。Symfony2でももちろん事前に変更内容を調査することは必要ですが、Symfony2側で後方互換性が維持されるルールが導入されており、上手く機能しているようです。 この「後方互換性を維持するルール」の中心となるのが「
BEAR.Sunday Advent Calendar 2015 6日目の記事です。(※記事の公開が予定よりも遅れてしまいました。すみません。) RESTfulフレームワークである BEAR.Sunday を使う機会がありました。 使ってみて考えたことを書きたいと思います。この記事では、まずコネクタとしてのリソース(BEAR.Resource)について説明します。リソースの単位を 1. 名詞的情報にした場合と、 2. ドメインユースケースにした場合 についてそれぞれ特徴を検討します。後者については説明用に動作するスニペットを組みました。 BEAR.Resource とは BEAR.Sunday を構成するオブジェクトフレームワークの1つに BEAR.Resource があります。READMEには下記の記述があります。 BEAR.Resource はオブジェクトがリソースの振る舞いを持つHy
SPA のバックエンドを Symfony2 で開発したい方向けに、Symfony2 で REST API を作る手順についてまとめてみました。 イメージしやすいように、簡単な例で実際に実装する手順をなぞりながら解説していきたいと思います。 1. Symfony をインストール いつもどおり Symfony プロジェクトを新規インストールしてください。 symfony-installer を使う方法 のほうが composer create-project よりかなり早いのでおすすめです。 2. FOSRestBundle をインストール FOSRestBundle は、その名のとおり REST API の開発に便利な機能を追加してくれるバンドルです。Symfony2 で REST API を開発する場合は通常このバンドルを活用することになります。 インストール方法 インストール方法は ドキ
Haafiz.me Tough time make you think again but remember "There is easiness after difficulty" In this post, we will have a look on how we can use Codeception for API testing. First we need to install codeception. Installation: Here is Codeception’s quick start guide that show multiple ways to install codeception. Here we will be installing through Composer, you can follow any other method as you lik
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く