構成
docker
1version: '3' 2services: 3 nginx: 4 build: ./nginx 5 ports: 6 - '9000:80' 7 volumes: 8 - ./data/www:/var/www/html 9 - ./nginx/server.conf:/etc/nginx/nginx.conf 10 vue: 11 build: ./vue 12 volumes: 13 - ./data/www:/app 14 command: npm run dev 15 ports: 16 - '80:8080' 17 tty: true 18 19 swagger-editor: 20 image: swaggerapi/swagger-editor 21 container_name: "swagger-editor" 22 ports: 23 - "8081:8080" 24 25 swagger-ui: 26 image: swaggerapi/swagger-ui 27 container_name: "swagger-ui" 28 ports: 29 - "8082:8080" 30 volumes: 31 - ./swagger/openapi.json:/openapi.json 32 environment: 33 SWAGGER_JSON: /openapi.json 34 35 swagger-api: 36 image: danielgtaylor/apisprout 37 container_name: "swagger-api" 38 ports: 39 - "8083:8000" 40 volumes: 41 - ./swagger/openapi.json:/openapi.json 42 command: /openapi.json
該当のコード
ParentList.vue
1<script> 2 import Parent from '@/components/Parent' 3 export default { 4 name: 'ParentList', 5 data(){ 6 return { 7 parents: [] 8 } 9 }, 10 created(){ 11 this.fetchData() 12 }, 13 watch: { 14 // ルートが変更されたらこのメソッドを再び呼び出します 15 '$route': 'fetchData' 16 }, 17 components: { 18 'parent' : Parent 19 }, 20 methods: { 21 fetchData () { 22 axios.post( 23 "http://localhost:8083/parents", 24 null, 25 {}, 26 { 27 headers:{ 28 } 29 }) 30 .then(function(res){ 31 //vueにバインドされている値を書き換えると表示に反映される 32 // app.result = res.data 33 console.log(res) 34 }) 35 .catch(function(res){ 36 //vueにバインドされている値を書き換えると表示に反映される 37 // app.result = res.data 38 console.log(res) 39 }) 40 } 41 } 42 } 43</script>
ログ
spread.js:25 POST http://localhost:8083/parents 404 (Not Found) ParentList.vue?7aa4:51 Error: Request failed with status code 404 at e.exports (spread.js:25) at e.exports (spread.js:25) at XMLHttpRequest.d.onreadystatechange (spread.js:25)
http://localhost:8083/parents
を直接ブラウザで開けば開けます。
ホストを0.0.0.0にしてみたりもしましたがだめでした。Docker側に問題があるのかVue側に問題があるのかすらわからない有様で(どちらも素人です)検索ワードすら思いつかず困り果てています。お力添えをいただければ幸いです。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/10 00:51