diff --git a/src/Yam/Servant.hs b/src/Yam/Servant.hs
--- a/src/Yam/Servant.hs
+++ b/src/Yam/Servant.hs
@@ -38,6 +38,7 @@
     , fromException
     )
 import           Control.Lens                      hiding (Context)
+import           Data.Aeson
 import           Data.Swagger                      hiding
     ( Header
     , HeaderName
@@ -146,10 +147,11 @@
   } deriving Show
 
 instance FromJSON Config where
-  parseJSON v = runProp v $ do
-      scPort   <- getPropOrDefault (port def) "port"
-      scMode   <- getPropOrDefault (mode def) "mode"
+  parseJSON (Object v) = do
+      scPort   <- v .:? "port" .!= port def
+      scMode   <- v .:? "mode" .!= mode def
       return $ Config scPort scMode
+  parseJSON v          = typeMismatch "Config" v
 
 instance Default Config where
   def = Config 8888 Development
diff --git a/yam-servant.cabal b/yam-servant.cabal
--- a/yam-servant.cabal
+++ b/yam-servant.cabal
@@ -1,5 +1,5 @@
 name:                yam-servant
-version:             0.1.7
+version:             0.1.8
 description:         Web Module for Yam
 homepage:            https://github.com/leptonyu/yam/tree/master/yam-app#readme
 license:             BSD3
