내 프로젝트에 게시물을 업로드하려고 할 때 405 오류가 발생합니다.

레오나드 모리슨

내 개발 블로그에 게시물을 업로드하는 데 문제가 있습니다. MVC 프레임 워크를 사용하여 게시물을 업로드하려고합니다. 블로그를 만드는 방법에 대한 다양한 가이드를 따르려고합니다.

다음은 Post 클래스입니다.

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Threading.Tasks;

namespace ProjectWebApp.Models
{
    public class Post
    {
        [Key]
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        public int PostID { get; set; }
        [Required]
        public string Title { get; set; }
        [Required]
        public string Content { get; set; }
        public string Author { get; set; }
        public int Likes { get; set; }
        [Required]
        public DateTime DateCreated { get; set; }
        public DateTime? DateUpdated { get; set; }
        public ICollection<PostTag> PostTags { get; set; }
    }
}

다음은 BlogDBContext입니다.


using Project.Models;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace ProjectBlogWebApp.Data
{
    public class BlogDbContext : DbContext
    {
        public BlogDbContext(DbContextOptions<BlogDbContext> options) : base(options)
        {
            Database.EnsureDeleted();
            if (Database.EnsureCreated() == true)
            {
                Database.EnsureCreated();
            }
        }

        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            modelBuilder.Entity<PostTag>().HasKey(p => new {p.PostID, p.TagID});
            modelBuilder.Entity<PostTag>().HasOne(pt => pt.Post).WithMany(p => p.PostTags)
                .HasForeignKey(pt => pt.PostID);
            modelBuilder.Entity<PostTag>().HasOne(pt => pt.Tag).WithMany(t => t.PostTags)
                .HasForeignKey(pt => pt.TagID);
        }



        public DbSet<Post> Posts { get; set; }

        public DbSet<Tag> Tags { get; set; }

        public DbSet<PostTag> PostTags { get; set; }
    }
}

다음은 PostController 클래스입니다.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using ProjectWebApp.Data;
using ProjectWebApp.Models;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.ModelBinding;
using Microsoft.EntityFrameworkCore;

namespace ProjectWebApp.Controllers
{
    public class PostController : Controller
    {
        private BlogDbContext _dbBlogContext;

        public PostController(BlogDbContext dbContext)
        {
            _dbBlogContext = dbContext;
        }

        public IActionResult Index()
        {
            var postList = _dbBlogContext.Posts.ToList();

            return View(postList);
        }
        [HttpGet, Route("Create")]
        public IActionResult Create()
        {
            return View(new Post());
        }

        [HttpGet, Route("Edit")]
        public IActionResult Edit()
        {
            
            return View();
        }

        [HttpPost]
        public async Task<IActionResult> CreatePostAsync([Bind("Title", "Content")] Post post)
        {
            try 
            {
                post.Likes = 0;
                post.DateCreated = DateTime.Now;
                post.Author = "Leonard Morrison";
                _dbBlogContext.Add(post);
                await _dbBlogContext.SaveChangesAsync();

                
            }

            catch (DbUpdateException)
            {
                ModelState.TryAddModelError( "Error: Post was not added properly!", "Sorry, the Post was not added properly. Please let me know if this problem persists");
            }

            return View(post);
        }

        [HttpGet]
        public IActionResult Show(int ID)
        {
            var post = getPost(ID);
            return View(post);
        }

        [HttpGet]
        public IActionResult Edit(int ID)
        {
            var post = getPost(ID);
            return View(post);
        }
        [HttpPatch]
        public IActionResult Update(int id)
        {
            var post = _dbBlogContext.Posts.Find(id);
            _dbBlogContext.Posts.Update(post);
            return RedirectToAction("Index");
            
        }

        [HttpDelete]
        public IActionResult RemovePost(int id)
        {
            Post deletedPost = getPost(id);

            _dbBlogContext.Posts.Remove(deletedPost);

            _dbBlogContext.SaveChanges();

            return RedirectToAction("Index");
        }


        public Post getPost(int ID)
        {
            var post = _dbBlogContext.Posts.First(p => p.PostID == ID);

            return post;
        }

    }
}


마지막으로 시작 소스 코드는 다음과 같습니다.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using ProjectWebApp.Data;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.HttpsPolicy;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.EntityFrameworkCore;
using Microsoft.AspNetCore.Http;


namespace ProjectBlogWebApp
{
    public class Startup
    {



        public Startup(IConfiguration configuration)
        {
            Configuration = configuration;
        }

        public IConfiguration Configuration { get; }

        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddControllersWithViews();


            services.AddDbContext<BlogDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));

            services.AddScoped<BlogDbContext, BlogDbContext>();

        }

        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            else
            {
                app.UseExceptionHandler("/Home/Error");
                // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
                app.UseHsts();
            }
            app.UseHttpsRedirection();
            app.UseStaticFiles();

            app.UseRouting();

            app.UseAuthorization();

            //The Main EndPoint Routes
            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllerRoute(
                    name: "default",
                    pattern: "{controller=Home}/{action=Index}/{id}");
            });
            
            //The Post Endpoints Routes
            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllerRoute(name: "post",
                    pattern: "{controller=Post}/{action=Index}/{title?}");

            });
        }
    }
}


오류가 정확히 어디인지 모르기 때문입니다. 하지만이 405 오류가 발생하는 곳이 필요합니다.

감사.

mj1313

HTTP (HyperText Transfer Protocol) 405 Method Not Allowed 응답 상태 코드는 요청 방법이 서버에서 알려져 있지만 대상 리소스에서 지원되지 않음을 나타냅니다.

생성 Url은 "localhost:5001/Create"Create Get 메서드와 만 일치하는이고 양식은 HttpPost 요청을 보내므로 405 오류가 발생합니다.

1. asp-action="CreatePost"양식 태그에 추가 할 수 있습니다.

2. 또는 CreatePost 작업에 동일한 경로 속성을 추가하십시오.

[HttpPost]
[Route("Create")]
public async Task<IActionResult> CreatePostAsync([Bind("Title", "Content")] Post post)

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

IIS에서 .net 핵심 웹 앱의 샘플 프로젝트를 게시 할 때 HTTP 오류 500.19 내부 서버 오류가 발생합니다.

분류에서Dev

내 nativescript 프로젝트를 업데이트하려고 할 때 오류 메시지가 나타납니다.

분류에서Dev

내 웹 사이트에서 파일을 업로드 할 때이 오류가 발생합니다.

분류에서Dev

내 목록에 값을 추가하려고 할 때마다 오류가 발생합니다.

분류에서Dev

내 저장소에 파일을 추가하려고 할 때 Git에서 readlink 오류가 발생합니다.

분류에서Dev

내 웹 사이트에 게시 할 때 내부 서버 오류가 발생하지만 게시물을 삭제할 때 발생하지 않음

분류에서Dev

내 프로필 테이블을 마이그레이션하려고 할 때 오류가 발생합니다. laravel 5.1을 사용하고 있습니다.

분류에서Dev

firebase에 json 파일을 업로드 할 때 오류가 발생하고 firebase가 인식하지 못합니다.

분류에서Dev

내 데이터베이스에서 게시물을 검색 할 때 오류가 발생했습니다.

분류에서Dev

내 vue 프로젝트를 제공 할 때 찾을 수없는 매니페스트 json에서 오류가 발생했습니다.

분류에서Dev

파일을 다운로드하려고 할 때 http 오류 400 urllib2가 발생합니다.

분류에서Dev

내 프로그램을 병렬 처리하기 위해 tbb를 사용하려고 할 때 분할 오류가 발생합니다.

분류에서Dev

내 프로젝트에서 UIKit을 사용하려고하지만 오류가 발생합니다.

분류에서Dev

Onedrive 폴더 프로젝트 내에서 방랑자를 수행 할 때이 출력 오류 메시지가 왜 발생합니까?

분류에서Dev

React에서 Node로 게시 요청을 보내려고 할 때 프록시 요청 오류가 발생했습니다. 프록시가 요청을받을 때 제대로 작동합니다.

분류에서Dev

openshift 프로젝트에 변경 사항을 푸시 할 때 오류가 발생했습니다.

분류에서Dev

내 Html 텍스트 필드에서 img.src를 가져 오려고 할 때 오류가 발생합니다.

분류에서Dev

iTunes에 앱을 업로드 할 때 오류가 발생합니다.

분류에서Dev

s3 버킷에 파일을 업로드하려고 할 때마다 403 Forbidden 오류가 발생합니다. (PHP, SDK)

분류에서Dev

/ home에서 프로그램을 실행하려고 할 때 오류가 발생합니다.

분류에서Dev

시작하려고 할 때 Plupload에서 오류가 발생합니다.

분류에서Dev

Xamarin 프로젝트를 디버깅 할 때 오류가 발생합니다.

분류에서Dev

Django-문의 양식을 제출할 때 405 오류가 발생합니다.

분류에서Dev

Java 8 및 Maven 3.2.3을 사용하여 코드를 컴파일하려고 할 때 내 댓글에 대해 이상한 오류가 발생합니다.

분류에서Dev

Java 8 및 Maven 3.2.3을 사용하여 코드를 컴파일하려고 할 때 내 댓글에 대해 이상한 오류가 발생합니다.

분류에서Dev

detailview에서 formview를 제출할 때 오류 405가 발생합니다.

분류에서Dev

내 장치에서 내 앱을 시작하려고 할 때 xcode에서 시작 옵션 nil로 오류가 발생합니까?

분류에서Dev

405 메시지 보내기 API 끝점을 사용하려고 할 때 오류 발생

분류에서Dev

내 전단지 맵에 LayerGroup을 추가하려고 할 때 오류가 발생했습니다.

Related 관련 기사

  1. 1

    IIS에서 .net 핵심 웹 앱의 샘플 프로젝트를 게시 할 때 HTTP 오류 500.19 내부 서버 오류가 발생합니다.

  2. 2

    내 nativescript 프로젝트를 업데이트하려고 할 때 오류 메시지가 나타납니다.

  3. 3

    내 웹 사이트에서 파일을 업로드 할 때이 오류가 발생합니다.

  4. 4

    내 목록에 값을 추가하려고 할 때마다 오류가 발생합니다.

  5. 5

    내 저장소에 파일을 추가하려고 할 때 Git에서 readlink 오류가 발생합니다.

  6. 6

    내 웹 사이트에 게시 할 때 내부 서버 오류가 발생하지만 게시물을 삭제할 때 발생하지 않음

  7. 7

    내 프로필 테이블을 마이그레이션하려고 할 때 오류가 발생합니다. laravel 5.1을 사용하고 있습니다.

  8. 8

    firebase에 json 파일을 업로드 할 때 오류가 발생하고 firebase가 인식하지 못합니다.

  9. 9

    내 데이터베이스에서 게시물을 검색 할 때 오류가 발생했습니다.

  10. 10

    내 vue 프로젝트를 제공 할 때 찾을 수없는 매니페스트 json에서 오류가 발생했습니다.

  11. 11

    파일을 다운로드하려고 할 때 http 오류 400 urllib2가 발생합니다.

  12. 12

    내 프로그램을 병렬 처리하기 위해 tbb를 사용하려고 할 때 분할 오류가 발생합니다.

  13. 13

    내 프로젝트에서 UIKit을 사용하려고하지만 오류가 발생합니다.

  14. 14

    Onedrive 폴더 프로젝트 내에서 방랑자를 수행 할 때이 출력 오류 메시지가 왜 발생합니까?

  15. 15

    React에서 Node로 게시 요청을 보내려고 할 때 프록시 요청 오류가 발생했습니다. 프록시가 요청을받을 때 제대로 작동합니다.

  16. 16

    openshift 프로젝트에 변경 사항을 푸시 할 때 오류가 발생했습니다.

  17. 17

    내 Html 텍스트 필드에서 img.src를 가져 오려고 할 때 오류가 발생합니다.

  18. 18

    iTunes에 앱을 업로드 할 때 오류가 발생합니다.

  19. 19

    s3 버킷에 파일을 업로드하려고 할 때마다 403 Forbidden 오류가 발생합니다. (PHP, SDK)

  20. 20

    / home에서 프로그램을 실행하려고 할 때 오류가 발생합니다.

  21. 21

    시작하려고 할 때 Plupload에서 오류가 발생합니다.

  22. 22

    Xamarin 프로젝트를 디버깅 할 때 오류가 발생합니다.

  23. 23

    Django-문의 양식을 제출할 때 405 오류가 발생합니다.

  24. 24

    Java 8 및 Maven 3.2.3을 사용하여 코드를 컴파일하려고 할 때 내 댓글에 대해 이상한 오류가 발생합니다.

  25. 25

    Java 8 및 Maven 3.2.3을 사용하여 코드를 컴파일하려고 할 때 내 댓글에 대해 이상한 오류가 발생합니다.

  26. 26

    detailview에서 formview를 제출할 때 오류 405가 발생합니다.

  27. 27

    내 장치에서 내 앱을 시작하려고 할 때 xcode에서 시작 옵션 nil로 오류가 발생합니까?

  28. 28

    405 메시지 보내기 API 끝점을 사용하려고 할 때 오류 발생

  29. 29

    내 전단지 맵에 LayerGroup을 추가하려고 할 때 오류가 발생했습니다.

뜨겁다태그

보관